pecl-networking-gearman
pecl-networking-gearman copied to clipboard
Jobs are no longer retried if PHP exits with a non-zero value
As recently as version 2.0.6, (with PHP 7.4, libgearman 1.1.12) if PHP exited with a non-zero value while a worker was working on a job, the job would be returned to the stack, and would be retried as soon as it started up again. We recently upgraded to PHP 8, libgearman 1.1.19.1 and 2.1.2 of the Gearman extension, and it seems as if this is no longer the case; now if a PHP process crashes in the middle of a job, it seems that the job is essentially lost--it does not go back on the queue. If this is a change in the behavior, was it intentional?
The (old) behavior is discussed here: https://stackoverflow.com/questions/8870132/error-conditions-and-retries-in-gearman/10348461#10348461 and here: https://stackoverflow.com/questions/15790531/delay-a-gearman-job-in-php