sli*_*fty 10 php queue laravel
情况
我正在使用Laravel Queues来处理大量的媒体文件,预计单个作业需要几分钟(最多只需要一个小时).
我正在使用Supervisor来运行我的队列,我一次运行20个进程.我的超级用户配置文件如下所示:
[program:duplitron-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/duplitron/artisan queue:listen database --timeout=0 --memory=500 --tries=1
autostart=true
autorestart=true
user=duplitron
numprocs=20
redirect_stderr=true
stdout_logfile=/var/www/duplitron/storage/logs/duplitron-worker.log
Run Code Online (Sandbox Code Playgroud)
有些奇怪的事我不知道如何解释或纠正:
我坚信这是一个超时问题; 但是,我的印象是--timeout=0会导致无限制的超时.
问题
如何防止此临时"失败"作业状态?是否有其他可能调用队列超时但我不知道的地方?
sli*_*fty 17
事实证明,除了超时,还有一个expire定义的设置config/queue.php
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'expire' => 60,
],
Run Code Online (Sandbox Code Playgroud)
将其更改为更高的值就可以了.