首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Laravel 5/ L5:设置使用数据库连接将作业推送到队列时的尝试次数

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

Stack Overflow用户
提问于 2015-11-26 17:59:28
回答 2查看 2.2K关注 0票数 0

我已经使用数据库连接在L5中设置了队列系统,在运行迁移之后,我的DB failed_jobs和jobs中有两个表。到目前为止,一切工作正常,但当推送操作失败时,它会继续并尝试处理该操作,并且在失败时没有删除作业,也没有在failed_jobs上插入作业

代码语言:javascript
复制
 Queue::push(function($job) use ($id)
 {
     Account::delete($id);

     $job->delete();
 });

在上面的例子中,如果没有成功,我如何设置尝试的次数,然后插入到failed_jobs中。

我知道这可以使用以下命令来完成

代码语言:javascript
复制
php artisan queue:listen --tries=3

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

EN

回答 2

Stack Overflow用户

发布于 2019-05-30 07:35:16

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

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

将以下代码添加到您的作业类:

代码语言:javascript
复制
/**
* The number of times the job may be attempted.
*
* @var int
*/

public $tries = 5;
票数 1
EN

Stack Overflow用户

发布于 2015-11-26 20:45:07

您可以查看尝试次数:

代码语言:javascript
复制
   if ($job->attempts() > 3)
{
    //
}

文档here中明确提到了这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33935562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档