From 4535de4f31612a29711d1f38e0aa309f9a9bf0a5 Mon Sep 17 00:00:00 2001 From: Achim Rohn Date: Tue, 10 Feb 2026 10:10:38 +0100 Subject: [PATCH] Resume resets in_progress jobs back to pending --- queue/general_queue.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/queue/general_queue.go b/queue/general_queue.go index df42c09..821ffd6 100644 --- a/queue/general_queue.go +++ b/queue/general_queue.go @@ -454,6 +454,23 @@ func (q *GeneralQueue) IncrementTries(ctx context.Context, jobID int, currentTri } func (q *GeneralQueue) Resume(ctx context.Context) error { + // Reset all in_progress jobs back to pending + count, err := q.client.GeneralQueue.Update(). + Where( + generalqueue.NameEQ(q.Name), + generalqueue.StatusEQ(generalqueue.StatusInProgress), + ). + SetStatus(generalqueue.StatusPending). + SetUpdatedAt(time.Now()). + Save(ctx) + if err != nil { + customErr := fmt.Errorf("Failed to reset in_progress jobs to pending for queue '%s': %w", q.Name, err) + return customErr + } + if count > 0 { + Debug("Reset ", count, " in_progress jobs to pending for ", q.Name, " queue") + } + // Check if queue should auto-start if isRunning, err := q.IsRunning(ctx); err != nil { Error("Failed to check ", q.Name, " queue state:", err)