centos7 + supervisor实现laravel队列常驻进程流程步骤
Laravel  /  管理员 发布于 2年前   916
在centos7系统中使用supervisor进程管理工具来管理保持laravel任务进程状态
一、yum安装supervisor
yum install epel-release
yum install -y supervisor
二、配置supervisor,创建配置文件:
在/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、centos7的supervisord配置文件*.conf放在/etc/supervisord.d/下
3、Ubuntu的是/etc/supervisor/conf.d,用于配置单个进程组或者进程的个性化配置
4、确保stopwaitsecs的值大于运行时间最长的作业所消耗的秒数,否则,Supervisor可能会在作业完 成处理之前将其终止。
ps:
分享个queue命令的例子,作参考
// 在/etc/supervisor/conf.d/路径下建立一个 foo.conf 文件,存放一个组名为foo的配置
[group:foo] // 建立一个进程组
programs=bar // 进程组包括的进程,多个进程用逗号隔开
[program:bar] // 建立一个进程
process_name=%(program_name)s_%(process_num)02d // 启动的进程名 : bar_00 bar_01 ...
command=php /data/www/laravel-path/artisan queue:work --sleep=3 --tries=3 // 执行的进程命令
autostart=true // 随supervisor启动自动启动
autorestart=true
user=deploy // 执行进程的用户
numprocs=8 // 进程数
redirect_stderr=true
stdout_logfile=/data/logs/foo.log
//启动supervisor:
supervisord -c /etc/supervisord.conf
//进入supervisor操作台:
supervisorctl
//读取新增加的配置
supervisorctl> reread
supervisorctl> update
//启动foo组下的所有进程
supervisorctl> start foo:*
三、启动supervisor
运行以下命令,就可以安心关闭SSH了
#开机自启动
systemctl enable supervisord
#启动supervisord服务
systemctl start supervisord
# 查看supervisord服务状态
systemctl status supervisord
# 查看是否存在supervisord进程
ps -ef|grep supervisord
备注:
配置文件里的/www/server/php/81/etc/php-cli.ini artisan horizon就是你想要常驻运行的命令路径;
如果你不知道完整路径是什么,你可以先运行 php artisan xxx 然后 ctrl+z,然后再输入jobs就能看到完整路径了,复制该路径到conf文件里就可以了
supervisor的配置说明文档:
https://www.rddoc.com/doc/Supervisor/3.3.1/zh/configuration/#supervisord-section-settings
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号