Supervisor 的配置文件通常位于 /etc/supervisor/conf.d 目录下。在该目录中,你可以创建任意数量的配置文件,用来控制 supervisor 将如何监控你的进程。例如,创建一个 laravel-worker.conf 文件使之启动和监控一个 queue:work 进程:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/vagrant/wwwroot/laravel6/artisan queue:work redis --queue=failMsg --sleep=3 --tries=5
autostart=true ;是否随supervisor启动
autorestart=true ;是否在挂了之后重启,意外关闭后会重启,比如kill掉
user=vagrant ;用户
numprocs=8 ;启动多个进程
redirect_stderr=true
stdout_logfile=/home/vagrant/supervisor-log/failmsg-work.log ;r日志
在这个例子中,numprocs 指令将指定 Supervisor 运行 8 个 queue:work 进程并对其进行监控,如果它们挂掉就自动重启它们。你应该更改 command 选项中的 queue:work redis 部分以表示你所需的队列连接,sleep代表没有新任务时候「睡眠」时间 ,tries表示出现异常时,最大尝试次数。
配置文件创建完毕后,你就可以使用如下命令更新 Supervisor 配置并启动进程了:
sudo supervisorctl reread
sudo supervisorctl update (修改supervisor配置后执行这条)
sudo supervisorctl start laravel-worker:*
sudo supervisorctl restart laravel-worker:* (修改代码后)
ps -aux | grep laravel-worker
supervisorctl status
supervisorctl
status #查看程序状态
stop name #关闭name程序
start name #启动name程序
restart name # 重启name程序
reread #读取有更新的配置文件,不会启动新添加的程序
update #重启配置文件修改过的程序
最新评论