Laravel 5 / L5:设置使用数据库连接将作业推送到队列时的尝试次数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

我使用Databse连接在L5中设置了Queue系统,在我运行迁移后,我的数据库中有两个表failed_jobs和jobs。到目前为止一切正常,但是当推送操作失败时,它继续运行并尝试处理操作并且未在失败时删除作业或插入failed_jobs

 Queue::push(function($job) use ($id)
 {
     Account::delete($id);

     $job->delete();
 });

在上面的示例中,如何设置尝试次数(如果不成功),然后插入failed_jobs。

我知道这可以用来完成

php artisan queue:listen --tries=3

但我想要使用闭包,因为我有不同的情况

提问于
用户回答回答于
用户回答回答于

您可以定义作业类本身的最大尝试次数。

如果在作业上指定了最大尝试次数,则它将优先于命令行上提供的值。

将此添加到您的工作类:

/**
* The number of times the job may be attempted.
*
* @var int
*/

public $tries = 5;

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励