summaryrefslogtreecommitdiff
path: root/internal/cache/cache.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cache/cache.go')
-rw-r--r--internal/cache/cache.go21
1 files changed, 12 insertions, 9 deletions
diff --git a/internal/cache/cache.go b/internal/cache/cache.go
index e57fbb569..88e4f870a 100644
--- a/internal/cache/cache.go
+++ b/internal/cache/cache.go
@@ -23,6 +23,7 @@ import (
"codeberg.org/gruf/go-cache/v3/ttl"
"github.com/superseriousbusiness/gotosocial/internal/cache/headerfilter"
"github.com/superseriousbusiness/gotosocial/internal/config"
+ "github.com/superseriousbusiness/gotosocial/internal/gtserror"
"github.com/superseriousbusiness/gotosocial/internal/log"
)
@@ -124,16 +125,18 @@ func (c *Caches) Init() {
// Start will start any caches that require a background
// routine, which usually means any kind of TTL caches.
-func (c *Caches) Start() {
+func (c *Caches) Start() error {
log.Infof(nil, "start: %p", c)
- tryUntil("starting webfinger cache", 5, func() bool {
- return c.Webfinger.Start(5 * time.Minute)
- })
+ if !c.Webfinger.Start(5 * time.Minute) {
+ return gtserror.New("could not start webfinger cache")
+ }
- tryUntil("starting statusesFilterableFields cache", 5, func() bool {
- return c.StatusesFilterableFields.Start(5 * time.Minute)
- })
+ if !c.StatusesFilterableFields.Start(5 * time.Minute) {
+ return gtserror.New("could not start statusesFilterableFields cache")
+ }
+
+ return nil
}
// Stop will stop any caches that require a background
@@ -141,8 +144,8 @@ func (c *Caches) Start() {
func (c *Caches) Stop() {
log.Infof(nil, "stop: %p", c)
- tryUntil("stopping webfinger cache", 5, c.Webfinger.Stop)
- tryUntil("stopping statusesFilterableFields cache", 5, c.StatusesFilterableFields.Stop)
+ _ = c.Webfinger.Stop()
+ _ = c.StatusesFilterableFields.Stop()
}
// Sweep will sweep all the available caches to ensure none