GoToSocial/vendor/codeberg.org/gruf/go-cache/v2/scheduler.go

18 lines
473 B
Go

package cache
import (
"time"
"codeberg.org/gruf/go-sched"
)
// scheduler is the global cache runtime scheduler
// for handling regular cache evictions.
var scheduler = sched.NewScheduler(5)
// schedule will given sweep routine to the global scheduler, and start global scheduler.
func schedule(sweep func(time.Time), freq time.Duration) func() {
go scheduler.Start() // does nothing if already running
return scheduler.Schedule(sched.NewJob(sweep).Every(freq))
}