feat(lru): feat the function of launching the cleanWorkFunc to driver
This commit is contained in:
parent
2500251699
commit
dcce00a32d
|
@ -0,0 +1,28 @@
|
|||
package lru
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitee.com/timedb/wheatCache/pkg/event"
|
||||
"gitee.com/timedb/wheatCache/pkg/proto"
|
||||
"time"
|
||||
)
|
||||
|
||||
type cleanWorkSingle struct {
|
||||
timeOut time.Duration
|
||||
lru *SingleCache
|
||||
}
|
||||
|
||||
func (clean *cleanWorkSingle) cleanWork() (*proto.ReduceResponse, error) {
|
||||
cxt := context.Background()
|
||||
lruCleanEvent := event.NewEvent(CleanEventName)
|
||||
lruCleanEvent.InitWaitEvent()
|
||||
lruCleanEvent.SetValue(WorkFuncEventKey, clean.lru.DelToClearSize())
|
||||
clean.lru.lruCleanProduce.Call(cxt, lruCleanEvent)
|
||||
resp, err := lruCleanEvent.StartWaitEvent(clean.timeOut)
|
||||
if err != nil{
|
||||
return nil, err
|
||||
}
|
||||
return &proto.ReduceResponse{
|
||||
Result: resp.(string),
|
||||
}, nil
|
||||
}
|
Loading…
Reference in New Issue