jeffersongoncalves/laravel-queue-worker
A lightweight Laravel package for running and managing queue workers without Supervisor. Start, stop, restart, and monitor workers through simple Artisan commands, making background job processing practical on shared hosting and minimal deployments.
Start with the upgrade path and timeout contract, because this release changes how jobs behave at runtime:
"jeffersongoncalves/laravel-queue-consumer": "^1.2". Do not rely on ^1.1; an existing composer.lock may still hold 1.1.x.retry_after. It must be greater than the longest environment timeout plus 60 seconds.POST /api/jobs with an explicit timeout and verify it appears correctly in failed_jobs when the child environment times out.The first useful use case is a long-running job that previously failed at 60 seconds. After upgrading, the payload timeout is passed to the child process, and the hub job keeps that timeout plus a 60-second margin so the child process is killed by Symfony before the worker alarm fires.
PendingProcess default of 60 seconds.--queue; consumers on laravel-queue-consumer 1.1.0 fail with The "--queue" option does not exist.timeout: 0 or a negative timeout is rejected with 422. A timeout whose value plus the 60-second margin reaches retry_after is also rejected with 422, and the error names both numbers.retry_after from the largest timeout any environment can declare, not from the hub job’s own runtime. The rule is: longest environment timeout + 60 seconds < retry_after.OutdatedEnvironmentConsumerException when surfacing job failures. It includes the environment slug, its path, and the exact composer require jeffersongoncalves/laravel-queue-consumer:^1.2 command to run there.failed_jobs after rollout. With the new timeout ordering, a child timeout should produce a failed row naming the environment rather than killing the worker and orphaning the child process.^1.1 is not enough. It allows 1.2.0 but does not require it, and an existing lock file can keep an older 1.1.x resolved. Update and redeploy each environment explicitly.retry_after validation is a preflight gate. If it is too low, affected jobs are refused at POST /api/jobs with 422 instead of being accepted and run twice concurrently.timeout: 0 is not “unlimited” here. Laravel treats it as “no timeout,” but this package rejects it with 422, as it does negative timeouts.The "--queue" option does not exist. should not be mistaken for an outdated consumer.retry_after ordering are correct.422 response body from POST /api/jobs, the environment slug/path in OutdatedEnvironmentConsumerException, the hub queue connection’s retry_after, and the failed_jobs row for the environment.How can I help you explore Laravel packages today?