[英]How to retry job programmatically in laravel queue?
如何检查作业是否完成?
我如何告诉作业在作业的句柄功能内重试?
或如何强制将一项工作视为失败的工作?
我发现代码需要运行失败(或引发异常)才能被视为失败的作业。
我只是在需要的地方放了一个throw new Exception()
。
然后,laravel将其视为失败的工作。
您可以在作业中实施失败的功能。
<?php
namespace App\Jobs;
.......
public function failed(\Exception $exception)
{
\Log::info('job failed');
}
}
我如何告诉作业在作业的句柄功能内重试?
不确定是否适用于其他连接类型,但是如果您使用的是Redis,可以通过以下命令从handle()主体将作业直接释放回队列:
$this->release(10);
其中10是延迟(以秒为单位),之后应将其返回到队列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.