diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-cache/v3/ttl/schedule.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-cache/v3/ttl/schedule.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-cache/v3/ttl/schedule.go b/vendor/codeberg.org/gruf/go-cache/v3/ttl/schedule.go new file mode 100644 index 000000000..111de0757 --- /dev/null +++ b/vendor/codeberg.org/gruf/go-cache/v3/ttl/schedule.go @@ -0,0 +1,20 @@ +package ttl + +import ( + "time" + + "codeberg.org/gruf/go-sched" +) + +// scheduler is the global cache runtime scheduler +// for handling regular 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 running + _ = scheduler.Start() + } + return scheduler.Schedule(sched.NewJob(sweep).Every(freq)) +} |