centos 7.9安装supervisor支持laravel队列常驻后台笔记
1、切换位root用户,然后安装supervisor
# yum install epel-release
# yum install -y supervisor
2、创建配置文件:在/etc/supervisord.d/
目录下输入vim laravel-horizon.conf
创建配置文件laravel-horizon.conf
:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /www/server/php/81/etc/php-cli.ini artisan horizon sqs --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log
stopwaitsecs=3600
注意!!!
1、因为我安装了laravel\horizon
用于可视化队列,所以没有用queue
命令
2、centos
的supervisord配置文件*.conf
放在/etc/supervisord.d/
下,Ubuntu
的是/etc/supervisor/conf.d
不一样
3、确保stopwaitsecs
的值大于运行时间最长的作业所消耗的秒数。否则,Supervisor 可能会在作业完成处理之前将其终止。
然后运行以下命令,就可以安心关闭SSH了
# systemctl enable supervisord # 开机自启动
# systemctl start supervisord # 启动supervisord服务
# systemctl status supervisord # 查看supervisord服务状态
# ps -ef|grep supervisord # 查看是否存在supervisord进程
备注:
配置文件里的/www/server/php/81/etc/php-cli.ini artisan horizon
就是你想要常驻运行的命令路径,如果你不知道完整路径是什么,你可以先运行php artisan xxx
然后ctrl+z
,然后再输入jobs
就能看到完整路径了,复制到conf
文件里就可以了
本作品采用《CC 协议》,转载必须注明作者和本文链接
文档只有Ubuntu的,正好需要Centos,当时也是没找到配置文件 哈哈