Skip to content

[13.x] Display error in queue:restart when worker isn't restartable - #61706

Merged
taylorotwell merged 1 commit into
laravel:13.xfrom
jackbayliss:13.x-restart-command
Sep 24, 2026
Merged

taylorotwell merged 1 commit into
laravel:13.xfrom
jackbayliss:13.x-restart-command

Conversation

@jackbayliss

@jackbayliss jackbayliss commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

The pause command errors if pausing is disabled, but, the restart command doesnt.

We turn off polling off by default via Queue::withoutInterruptionPolling, so when someone tries to restart a queue via the queue:restart command it appears like it's worked, but it hasnt.

This applies the same logic already used by queue:pause, added a test while I was here I adjusted the exit codes.

Thank you 🙏🏻

@github-actions

Copy link
Copy Markdown

Thanks for submitting a PR!

Note that draft PRs are not reviewed. If you would like a review, please mark your pull request as ready for review in the GitHub user interface.

Pull requests that are abandoned in draft may be closed due to inactivity.

@jackbayliss

Copy link
Copy Markdown
Contributor Author

tests freaking cos of stan and testbench, but this is good to review ty

@jackbayliss
jackbayliss marked this pull request as ready for review September 24, 2026 10:31
@taylorotwell
taylorotwell merged commit 81ae961 into laravel:13.x Sep 24, 2026
32 of 62 checks passed
@jackbayliss
jackbayliss deleted the 13.x-restart-command branch September 24, 2026 19:43
binaryfire added a commit to hypervel/components that referenced this pull request Oct 25, 2026
Queue::withoutInterruptionPolling() sets Worker::$restartable to false.
Queue workers then stop reading the restart signal from the cache, and
queue:restart refuses to run (laravel/framework#61706). The outbox relay
still read the signal on every loop, costing a cache round trip per
iteration and restarting on a signal the queue workers ignore.
restartTimestamp() now returns null when restarts are disabled, matching
Worker::getTimestampOfLastQueueRestart().

Validation: composer lint:fix, composer analyse and the Queue suite
pass. The new test fails without the fix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants