“如何修复laravel作业已尝试过多次或运行时间太长”

时间:2019-05-31 04:47:15

标签: laravel ubuntu supervisor

我使用队列发送短信。运作良好。接下来,Ubuntu服务器发生的问题是我必须重新安装主管。重置后出现了此问题。

  

production.ERROR:Illuminate \ Queue \ MaxAttemptsExceededException:尝试排队作业太多次。该作业可能先前已超时。在/ home /.../.../ vendor / laravel / framework / src / Illuminate / Queue / Worker.php:385

2 个答案:

答案 0 :(得分:1)

我的队列在 Fedora Linux 服务器的主管下运行

在我的 supervisord.conf 中

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/app/current/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=webapp
numprocs=8
redirect_stderr=true
stdout_logfile=/var/app/current/worker.log
stopwaitsecs=36000

使用这个配置文件,我有你显示的错误,但是当我删除睡眠并尝试这样的标志时

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/app/current/artisan queue:work 
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=webapp
numprocs=8
redirect_stderr=true
stdout_logfile=/var/app/current/worker.log
stopwaitsecs=36000

错误消失了

答案 1 :(得分:0)

您需要编辑 config/queue.php


'retry_after' => 1800, // This parameter is responsible for timeout

确保 retry_after 值大于运行作业所需的时间,这在队列文档中已经提到。