chore(server): add more info to scrobble errors logs (#3889)

* chore(server): add more info to scrobble errors

Signed-off-by: Deluan <deluan@navidrome.org>

* chore(server): add more info to scrobble errors

Signed-off-by: Deluan <deluan@navidrome.org>

* chore(server): add more info to scrobble errors

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
This commit is contained in:
Deluan Quintão 2025-03-27 18:57:06 -04:00 committed by GitHub
parent 46a2ec0ba1
commit 5ab345c83e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 22 additions and 13 deletions

View file

@ -2,6 +2,7 @@ package cache
import (
"errors"
"fmt"
"sync/atomic"
"time"
@ -74,10 +75,13 @@ func (c *simpleCache[K, V]) Get(key K) (V, error) {
}
func (c *simpleCache[K, V]) GetWithLoader(key K, loader func(key K) (V, time.Duration, error)) (V, error) {
var err error
loaderWrapper := ttlcache.LoaderFunc[K, V](
func(t *ttlcache.Cache[K, V], key K) *ttlcache.Item[K, V] {
c.evictExpired()
value, ttl, err := loader(key)
var value V
var ttl time.Duration
value, ttl, err = loader(key)
if err != nil {
return nil
}
@ -87,6 +91,9 @@ func (c *simpleCache[K, V]) GetWithLoader(key K, loader func(key K) (V, time.Dur
item := c.data.Get(key, ttlcache.WithLoader[K, V](loaderWrapper))
if item == nil {
var zero V
if err != nil {
return zero, fmt.Errorf("cache error: loader returned %w", err)
}
return zero, errors.New("item not found")
}
return item.Value(), nil