备注:作为一位后端开发工程师,是否遇到过这样的场景,我们需要一个进程常驻。你的第一个想法是什么?* * * * * crontab ?no,你有更好的选择,毕竟crontab更加适用于定时任务。supervisord可以让你的进程在执行完成或者意外终止时0间隙重新启动。如果你使用过队列,应该懂得生产者和消费者,如何让消费者持续消费且不中断?此时我们只需要将消费命令直接写入到supervisord的配置文件即可。
一、如何安装并启动?
1、如何安装
yum install supervisor
2、如何启动
supervisord -c /etc/supervisord.conf
二、如何修改配置文件、加入新的配置?
cd /etc/supervisord.d #进入配置目录
vim mq.conf
#写入以下配置
[program:aliyun_mq_worker] #配置名称
process_name=%(program_name)s_%(process_num)02d
command=php /data/www/greens/artisan mq:receive #此处为需要守候的命令
autostart=true #自动启动
autorestart=true #自动重启
user=root
numprocs=1 #进程数(队列消费者通常为多个进程一起执行)
redirect_stderr=true
stdout_logfile=/data/www/greens/storage/logs/worker.log #日志路径
:wq #保存并退出
3、特别强调
supervisorctl reread #supervisor 有新配置需要加载时执行
supervisorctl update #supervisorctl update 配置更新时执行
supervisorctl restart all #执行中的进程代码出现更新时尤其要小心,执行该代码保证代码正常生效