Beanstalkd retrying non retryable job
class DummyJob extends BaseObject implements RetryableJobInterface
{
public function execute($queue): void
{
sleep(5);
}
public function getTtr(): int
{
return 1;
}
public function canRetry($attempt, $error): bool
{
return false;
}
}
If I push such job to queue I expect it to fail due Ttr and not to be retried. However due how beanstalkd works it just puts job back to queue many times ignoring canRetry()
Any fix. Or should I use different driver?
I use beanstalkd because mysql driver can't handle the load :D
P.S. this is related to
2025-03-15 09:09:11 [-][-][-][error][Pheanstalk\Exception\ServerException] Pheanstalk\Exception\ServerException: Cannot delete job 754021: NOT_FOUND This issue also produces such errors.
yiisoft/yii2-queue 2.3.7 pda/pheanstalk 3.2.1
"Full support of retryable implements for Beanstalk, DB, File, AMQP Interop and Redis drivers."
rel: https://github.com/laravel/framework/issues/3443
Maybe just enough to bury job because Yii2 will handle retrying. ?
Maybe. I don't personally use it. If you know how to fix it, pull request is welcome.
TBD. Still happening.