Skip to content

v0.5.0

Choose a tag to compare

@skybleak333 skybleak333 released this 08 Nov 18:22
· 1 commit to main since this release

Fifth experiment: maxExceptions and a timeout when the worker isn't killed.

With Worker::$killOnTimeout = false (laravel/framework#61591), a job that runs past its timeout gets a TimeoutExceededException instead of a dead worker. The timeout is counted against maxExceptions twice: once by the SIGALRM handler, and again when the exception comes out of the job. A job with maxExceptions = 2 fails after its first timeout, while a job that simply throws fails after its second attempt, as it should. With the fix from fix/timeout-exception-count, both fail after two attempts.

Like experiment 4 it runs on the database queue, no broker: vendor/bin/phpunit tests/MaxExceptionsTimeoutTest.php.

Checked in CI with PHP 8.3–8.5 and Laravel 13.37.