queue:work --timeout has no effect when used with --once#11287
Merged
taylorotwell merged 2 commits intoJul 13, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello 👋,
Description
The documentation currently implies that the
--timeoutoption onqueue:workworks globally for the queue worker. However, when combining--oncewith--timeout, the timeout restriction is silently ignored.I understand the design choice, but we had to debug this exact issue in production today, and to save other developers time, this PR aims to clarify this behavior in the official documentation. Note that this specifically applies to running individual workers via
--once, and we are not usingqueue:listen(which handles timeouts differently).Technical Proof
This is because the logic for sending the SIGTERM comes from the registerTimeoutHandler method, which is called exclusively in daemon mode.
Proposed solution
Add a warning note in the queue documentation under the
--timeoutsection to clarify this behavior.