首页 > 解决方案 > 运行 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

标签: laravellumensupervisord

解决方案


推荐阅读