我正在使用Redis进行laravel队列作业,并使用主管来管理多个工作人员.
我有一个以上的numprocs工作了好几天,然后主管下来,即使主管处于活动状态.
我有一个以上的numprocs工作了好几天,然后主管下来,即使主管处于活动状态.
因为在主管中,当supervisord失败超过配置文件中设置的startretries值启动程序/ worker时,程序/ worker转到FATAL STATE然后它不会处理任何作业,所以当所有工作人员都处于这种状态时,主管会关闭.
然后我们需要手动重启Supervisor再次开始处理.
但这不是一个适当的解决方案.
我的问题是为什么主管无法启动,解决方案是什么?
参考主管文件:-http://supervisord.org/subprocess.html
我的配置文件是这样的: –
[program:name] process_name=%(program_name)s_%(process_num)02d command=PHP /path/artisan queue:work --queue=queue1,queue2,queue3,queue4,default --tries=1 --daemon autostart=true autorestart=true startretries=15 numprocs=150 user=root redirect_stderr=true stdout_logfile=/path/worker.log stderr_logfile=/path/workerError.log
更新
我的日志文件看起来像这样
我的stdout日志文件看起来像这样
相关的日志条目是:
原文链接:https://www.f2er.com/php/136401.htmlexited: laravelw_106 (exit status 0; not expected) gave up: laravelw_106 entered FATAL state,ntoo many start retries too quickly
laravel队列工作程序在启动后会因某种原因立即停止.
队列工作者应该是长时间运行的.
你需要找出它退出的原因;也许你在工作的某个地方有一个exit()或die()语句.