如何解决Laravel队列和作业-稍后如何重新运行失败的作业
提前谢谢
我的问题很简单
例如,我创建了一个正在向用户发送电子邮件的作业。但是由于某些语法错误或任何其他异常而失败,因此laravel会将此工作视为failed_jobs
数据库表中的失败工作,稍后,以一个例子为例,在两天后我在代码并解决了,现在我想再次运行失败的作业,以便我的任务可以完成
该怎么做?
解决方法
您可以使用来查看所有失败的作业
php artisan queue:failed
如果只想重试1个作业,则可以使用以下内容(将5替换为要重试的作业的ID)
php artisan queue:retry 5
如果要重试多个作业,则可以使用以下命令(将数字替换为要重试的作业的ID)
php artisan queue:retry 5 6 7 8 9 10
如果要重试具有数字ID的作业范围,可以使用以下内容(将5和10替换为要重试的范围)
php artisan queue:retry --range=5-10
最后,如果要重试所有失败的作业,可以使用以下命令
php artisan queue:retry all
可以找到这些here,请确保下次检查文档:)
,您可以执行1次以上的工作
php artisan queue:work --sleep = 1 --tries = 5 --timeout = 60
OR
您可以运行所有失败的作业
,php artisan队列:全部重试
这里值得注意的是,作业在推送到队列时会被序列化。因此,如果语法错误出在作业代码本身,那么该作业将始终失败。
这是因为在 failed_jobs 表中输入了相同的作业负载,因此该作业的后续重试将导致相同的错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。