Ale*_*ldi 3 supervisord laravel
我正在尝试与主管一起使用Laravel队列,但是该服务无法正常工作。我的/var/log/supervisor/supervisord.log是:
2018-06-18 10:56:07,441 INFO spawned: 'laravel-worker_00' with pid 20838
2018-06-18 10:56:07,446 INFO spawned: 'laravel-worker_01' with pid 20839
2018-06-18 10:56:08,021 INFO exited: laravel-worker_01 (exit status 255; not expected)
2018-06-18 10:56:08,033 INFO gave up: laravel-worker_01 entered FATAL state, too many start retries too quickly
2018-06-18 10:56:08,033 INFO exited: laravel-worker_00 (exit status 255; not expected)
2018-06-18 10:56:09,034 INFO gave up: laravel-worker_00 entered FATAL state, too many start retries too quickly
Run Code Online (Sandbox Code Playgroud)
我的配置/etc/supervisord.d/laravel-worker.conf是:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /var/www/my-project/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=root:root
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/my-project/worker.log
Run Code Online (Sandbox Code Playgroud)
当我尝试重新启动所有程序时:
$ sudo supervisorctl restart all
$ laravel-worker:laravel-worker_00: ERROR (abnormal termination)
$ laravel-worker:laravel-worker_01: ERROR (abnormal termination)
Run Code Online (Sandbox Code Playgroud)
我是主管的新手,所以有人可以指导我吗?
DAM*_*ANG 11
您需要像这样添加startsecs = 0到laravel-worker配置中:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /var/www/my-project/artisan queue:work --sleep=3 --tries=3
.....
startsecs = 0
Run Code Online (Sandbox Code Playgroud)
startsecs默认为1s,如果程序不保持1s,它将启动视为失败。将其设置为0,这样程序就不必在任何特定时间内保持运行。您可以检查此github问题以获取更多信息:https : //github.com/Supervisor/supervisor/issues/212
如果在守护程序模式下运行队列工作器,则最好使用--daemon标志: command=/usr/bin/php /var/www/my-project/artisan queue:work database --daemon --sleep=3 --tries=3
更改配置文件后,可能需要运行supervisorctl reload以使更改生效。
| 归档时间: |
|
| 查看次数: |
4169 次 |
| 最近记录: |