Files
redis-go/lib/timewheel/delay.go
2021-05-02 14:54:42 +08:00

22 lines
336 B
Go

package timewheel
import "time"
var tw = New(time.Second, 3600)
func init() {
tw.Start()
}
func Delay(duration time.Duration, key string, job func()) {
tw.AddTimer(duration, key, job)
}
func At(at time.Time, key string, job func()) {
tw.AddTimer(at.Sub(time.Now()), key, job)
}
func Cancel(key string) {
tw.RemoveTimer(key)
}