diff options
author | 6543 <6543@obermui.de> | 2022-05-15 20:43:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-15 20:43:27 +0200 |
commit | 00a981d341dfa62d2a9667b01500820ec7ddf19a (patch) | |
tree | fc95b030791d6629d277cfe48a3380f296cf5adb /modules | |
parent | 3a245230f494b9d6a7e5c688cbb3c7f7c3a33cbd (diff) | |
download | gitea-00a981d341dfa62d2a9667b01500820ec7ddf19a.tar.gz gitea-00a981d341dfa62d2a9667b01500820ec7ddf19a.zip |
Update go-chi/cache to utilize Ping() (#19719)
* update gitea.com/go-chi/cache -> v0.2.0
* ajust to new interface
* refactor
Diffstat (limited to 'modules')
-rw-r--r-- | modules/cache/cache.go | 27 | ||||
-rw-r--r-- | modules/cache/cache_redis.go | 5 | ||||
-rw-r--r-- | modules/cache/cache_twoqueue.go | 5 |
3 files changed, 11 insertions, 26 deletions
diff --git a/modules/cache/cache.go b/modules/cache/cache.go index fd32aa153b..21d0cd0a04 100644 --- a/modules/cache/cache.go +++ b/modules/cache/cache.go @@ -5,11 +5,9 @@ package cache import ( - "errors" "fmt" "strconv" - "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" mc "gitea.com/go-chi/cache" @@ -35,7 +33,7 @@ func NewContext() error { if conn, err = newCache(setting.CacheService.Cache); err != nil { return err } - if err = Ping(); err != nil { + if err = conn.Ping(); err != nil { return err } } @@ -43,29 +41,6 @@ func NewContext() error { return err } -// Ping checks if the cache service works or not, it not, it returns an error -func Ping() error { - if conn == nil { - return errors.New("cache not available") - } - var err error - const testKey = "__gitea_cache_test" - const testVal = "test-value" - if err = conn.Put(testKey, testVal, 10); err != nil { - return err - } - val := conn.Get(testKey) - if valStr, ok := val.(string); !ok || valStr != testVal { - // If the cache is full, the Get may not read the expected value stored by Put. - // Since we have checked that Put can success, so we just show a warning here, do not return an error to panic. - log.Warn("cache (adapter:%s, config:%s) doesn't seem to work correctly, set test value '%v' but get '%v'", - setting.CacheService.Cache.Adapter, setting.CacheService.Cache.Conn, - testVal, val, - ) - } - return nil -} - // GetCache returns the currently configured cache func GetCache() mc.Cache { return conn diff --git a/modules/cache/cache_redis.go b/modules/cache/cache_redis.go index ff6c8d424c..7bb71f08ce 100644 --- a/modules/cache/cache_redis.go +++ b/modules/cache/cache_redis.go @@ -153,6 +153,11 @@ func (c *RedisCacher) StartAndGC(opts cache.Options) error { return c.c.Ping(graceful.GetManager().HammerContext()).Err() } +// Ping tests if the cache is alive. +func (c *RedisCacher) Ping() error { + return c.c.Ping(graceful.GetManager().HammerContext()).Err() +} + func init() { cache.Register("redis", &RedisCacher{}) } diff --git a/modules/cache/cache_twoqueue.go b/modules/cache/cache_twoqueue.go index 275b73f068..9c26b011b6 100644 --- a/modules/cache/cache_twoqueue.go +++ b/modules/cache/cache_twoqueue.go @@ -199,6 +199,11 @@ func (c *TwoQueueCache) StartAndGC(opts mc.Options) error { return err } +// Ping tests if the cache is alive. +func (c *TwoQueueCache) Ping() error { + return mc.GenericPing(c) +} + func init() { mc.Register("twoqueue", &TwoQueueCache{}) } |