首页 > PHP学习 > 教你用supervisor管理laravel常驻任务(队列等)配置

教你用supervisor管理laravel常驻任务(队列等)配置

时间:2022年7月1日 分类:PHP学习 浏览量:259

下面由Laravel教程栏目给大家介绍用supervisor管理laravel常驻任务(队列等)配置的方法,希望对需要的朋友有所帮助!

生产环境中需要一个可靠的进程管理工具来帮助laravel保持任务进程的状态,supervisor是非常广泛的选择

一. 安装supervisor

ubuntu环境下:

apt install supervisor

二. 配置supervisor

配置文件有两个位置:
主配置文件:/etc/supervisor/supervisord.conf 通常用于配置全局通用的配置
个性化配置文件:/etc/supervisor/conf.d/*.conf 通常用于配置单个进程组或者进程的个性化配置,类似于nginx配置时把多个server单独放在独立的配置文件里
supervisor的配置说明文档:https://www.rddoc.com/doc/Supervisor/3.3.1/zh/configuration/#supervisord-section-settings

三.举个例子:

// 在/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
supervisorctl> start foo:* //启动foo组下的所有进程

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

标签: