Laravel中使用supervisor

Laravel框架
474
0
0
2022-04-16

1 Superviosr 安装

sudo pip install supervisor

2 Supervisor 配置

// 运行这个命令可以生成一个默认的配置文件
echo_supervisord_conf > /etc/supervisord.conf

// 生成成功后,打开编辑这个文件,把最后的 include 块的注释打开,并修改如下:
[include]
files = /etc/supervisor/*.conf

新增的 Supervisor 配置文件放在 /etc/supervisor 目录下,并且以 conf 结尾。
这时我们使用新的配置文件来启动 Supervisor
supervisord  -c /etc/supervisord.conf
如果提示已经有进程在运行,那么先 kill 掉它。

3 使用Supervisor 管理Laravel队列进程

首先在/etc/supervisor 目录下新增一个Supervisor 的配置文件, 如下:

[program:project_horizon]
process_name=%(program_name)s
autostart=true
autorestart=true
redirect_stderr=true
command=/user/local/php/bin/php /home/wwwroot/project/artisan horizon
stdout_logfile=/home/wwwlogs/supervisord/project_horizon.log

可以看到 Laravel 队列开始正常运行了,这里值得注意的是,如果 Laravel 处理队列的代码更改了,需要重启 Supervisor 的队列管理才能生效

sudo /usr/bin/supervisorctl status