diff --git a/pkg/lru/cleanwork.go b/pkg/lru/cleanwork.go new file mode 100644 index 0000000..af787dc --- /dev/null +++ b/pkg/lru/cleanwork.go @@ -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 +} \ No newline at end of file