summaryrefslogtreecommitdiff
path: root/cmd/gotosocial/action/server/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/gotosocial/action/server/server.go')
-rw-r--r--cmd/gotosocial/action/server/server.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/cmd/gotosocial/action/server/server.go b/cmd/gotosocial/action/server/server.go
index ad1fe5763..8dd6a026d 100644
--- a/cmd/gotosocial/action/server/server.go
+++ b/cmd/gotosocial/action/server/server.go
@@ -25,7 +25,9 @@ import (
"os"
"os/signal"
"syscall"
+ "time"
+ "codeberg.org/gruf/go-sched"
"github.com/gin-gonic/gin"
"github.com/superseriousbusiness/gotosocial/cmd/gotosocial/action"
"github.com/superseriousbusiness/gotosocial/internal/api"
@@ -117,6 +119,13 @@ var Start action.GTSAction = func(ctx context.Context) error {
state.Workers.Start()
defer state.Workers.Stop()
+ // Add a task to the scheduler to sweep caches.
+ // Frequency = 1 * minute
+ // Threshold = 80% capacity
+ sweep := func(time.Time) { state.Caches.Sweep(80) }
+ job := sched.NewJob(sweep).Every(time.Minute)
+ _ = state.Workers.Scheduler.Schedule(job)
+
// Build handlers used in later initializations.
mediaManager := media.NewManager(&state)
oauthServer := oauth.New(ctx, dbService)