0
有时我需要释放Laravel作业并重新加入队列。但是,当这样做时,尝试次数会增加。它变为2,如果你的队列工作者限制为1尝试,它将永远不会运行。发布队列Laravel作业不增加尝试次数
如何在不增加尝试的情况下发布?
要释放我使用:
$this->release(30);
在此之前行我曾尝试下面的代码:
$payload = json_decode($this->payload, true);
if (isset($payload['attempts'])) {
$payload['attempts'] = 0;
}
$this->payload = json_encode($payload);
这是行不通的。属性不可用。它似乎存在于the Job class。
代码Laravel框架必须重置计数在RetryCommand
类。这是因为如下:
protected function resetAttempts($payload)
{
$payload = json_decode($payload, true);
if (isset($payload['attempts'])) {
$payload['attempts'] = 0;
}
return json_encode($payload);
}
但我不知道如何访问从我的作业类的$payload
?
有没有更好的方式来释放一个工作,而不增加尝试次数?
我正在使用Laravel 5.4和Redis队列驱动程序。