blob: a12b33ab9bc571e3e90bf65ab8a1f55ca1b4c6c5 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 | package ttl
import (
	"time"
	"codeberg.org/gruf/go-sched"
)
// scheduler is the global cache runtime
// scheduler for handling cache evictions.
var scheduler sched.Scheduler
// schedule will given sweep  routine to the global scheduler, and start global scheduler.
func schedule(sweep func(time.Time), freq time.Duration) func() {
	if !scheduler.Running() {
		// ensure sched running
		_ = scheduler.Start(nil)
	}
	return scheduler.Schedule(sched.NewJob(sweep).Every(freq))
}
 |