laravel - 运行 laravel 队列时,SupervisorD 生成过程不断
问题描述
我正在使用 SupervisorD 在守护程序模式下运行 Lumen 队列。Lumen 作业成功运行,但 SupervisorD 崩溃。
laravel-worker_11: ERROR (abnormal termination)
laravel-worker_10: ERROR (abnormal termination)
laravel-worker_00: ERROR (abnormal termination)
如果我在 supervisor conf 中添加startsecs=0,它会开始不断地产生工作人员,而不是为所有工作重用同一个工作人员。
2019-03-06 10:02:28,637 INFO spawned: 'laravel-worker_01' with pid 31529
2019-03-06 10:02:28,638 INFO success: laravel-worker_01 entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2019-03-06 10:02:28,777 INFO exited: laravel-worker_02 (exit status 1; expected)
这导致服务器负载。理想情况下,由于恶魔模式,Supervisor 应该只生成一个进程并继续从中提供所有作业。
主管配置
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/web/artisan queue:work --queue=server_level,app_level --tries=1 --daemon
autostart=true
autorestart=true
user=www-data
numprocs=3
redirect_stderr=true
stdout_logfile=/var/www/web/storage/logs/worker.log
startsecs=0
exitcodes=0,1,2
解决方案
推荐阅读
- php - 如何在 Laravel 5 中保存用户限制?
- python - 在 tkinter 中将 Procedural 转换为 OO 的问题
- javascript - 关于画布动画和设备运动的问题
- java - 如何在文本视图的文本周围设置边框
- google-apps-script - 如何将链接附加到 Apps Script 上的形状或文本框?
- php - 如何使用php从数据库中显示当前登录用户的用户名
- sql - 按提供者汇总的支付总额的前 10 名,按状态分区 - PostgreSQL
- sql - 错误数量或类型的参数错误使用带参数的游标
- sql - 如何避免使用 SQL ORACLE 分组
- laravel - 如何对 Octobercms 列表顶部的精选博客文章进行排序