From 9c9a69292534ea2c2a3ccba1175e7275b7f87a25 Mon Sep 17 00:00:00 2001 From: mkelvers Date: Wed, 22 Apr 2026 10:48:44 +0200 Subject: [PATCH] fix(worker): use minutes instead of seconds for SQLite datetime interval --- internal/worker/relations.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/internal/worker/relations.go b/internal/worker/relations.go index 3fa59e7..df096d9 100644 --- a/internal/worker/relations.go +++ b/internal/worker/relations.go @@ -76,8 +76,11 @@ func retryBackoff(attempts int64) string { delay = 30 * time.Minute } - seconds := int(delay / time.Second) - return fmt.Sprintf("+%d seconds", seconds) + minutes := int(delay / time.Minute) + if minutes < 1 { + minutes = 1 + } + return fmt.Sprintf("+%d minutes", minutes) } func (w *Worker) processAnimeFetchRetries(ctx context.Context) { @@ -231,10 +234,12 @@ func (w *Worker) ensureAnimeExistsAndStatusUpdated(ctx context.Context, malID in // OR we can explicitly fetch its details to keep sequels up to date. animeDetails, err := w.client.GetAnimeByID(ctx, malID) if err == nil { - w.db.UpdateAnimeStatus(ctx, database.UpdateAnimeStatusParams{ + if err := w.db.UpdateAnimeStatus(ctx, database.UpdateAnimeStatusParams{ Status: sql.NullString{String: animeDetails.Status, Valid: true}, ID: int64(animeDetails.MalID), - }) + }); err != nil { + log.Printf("worker: failed to update status for anime %d: %v", animeDetails.MalID, err) + } } time.Sleep(400 * time.Millisecond) }