Skip to content

queue:work --timeout has no effect when used with --once#11287

Merged
taylorotwell merged 2 commits into
laravel:13.xfrom
matthieu-mabillard:documentation/update-queues-timeout
Jul 13, 2026
Merged

queue:work --timeout has no effect when used with --once#11287
taylorotwell merged 2 commits into
laravel:13.xfrom
matthieu-mabillard:documentation/update-queues-timeout

Conversation

@matthieu-mabillard

Copy link
Copy Markdown
Contributor

Hello 👋,

Description

The documentation currently implies that the --timeout option on queue:work works globally for the queue worker. However, when combining --once with --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 using queue: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 --timeout section to clarify this behavior.

@taylorotwell taylorotwell merged commit 6d8246f into laravel:13.x Jul 13, 2026
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