File tree Expand file tree Collapse file tree 2 files changed +14
-8
lines changed
Expand file tree Collapse file tree 2 files changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -149,14 +149,20 @@ public function retry(Queue $queue, ?int $limit = null): void
149149 break ;
150150 }
151151
152- $ this ->enqueue ($ queue , $ job ->getPayload ());
152+ $ enqueued = $ this ->enqueue ($ queue , $ job ->getPayload ());
153153
154- /**
155- * Remove old job record after re-enqueueing to prevent memory leak.
156- */
157- $ this ->connection ->remove ("{$ queue ->namespace }.jobs. {$ queue ->name }. {$ pid }" );
158-
159- $ processed ++;
154+ if ($ enqueued ) {
155+ /**
156+ * Remove old job record after successful re-enqueue to prevent memory leak.
157+ */
158+ $ this ->connection ->remove ("{$ queue ->namespace }.jobs. {$ queue ->name }. {$ pid }" );
159+ $ processed ++;
160+ } else {
161+ /**
162+ * Re-add PID to failed queue if enqueue failed so job isn't lost.
163+ */
164+ $ this ->connection ->leftPush ("{$ queue ->namespace }.failed. {$ queue ->name }" , $ pid );
165+ }
160166 }
161167 }
162168
Original file line number Diff line number Diff line change 77 public function __construct (
88 public string $ name ,
99 public string $ namespace = 'utopia-queue ' ,
10- public int $ jobTtl = 86400 ,
10+ public int $ jobTtl = 0 ,
1111 ) {
1212 if (empty ($ this ->name )) {
1313 throw new \InvalidArgumentException ('Cannot create queue with empty name. ' );
You can’t perform that action at this time.
0 commit comments