mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-12-23 18:52:11 +00:00
edcee14d07
* [feature] Read + Write tombstones for deleted Actors * copyTombstone * update to use resultcache instead of old ttl cache Signed-off-by: kim <grufwub@gmail.com> * update go-cache library to fix result cache capacity / ordering bugs Signed-off-by: kim <grufwub@gmail.com> * bump go-cache/v3 to v3.1.6 to fix bugs Signed-off-by: kim <grufwub@gmail.com> * switch on status code * better explain ErrGone reasoning Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: kim <grufwub@gmail.com>
21 lines
480 B
Go
21 lines
480 B
Go
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))
|
|
}
|