Laravel 队列之 Supervisor

安装

先安装 Python 的 easy_install,再通过 easy_install 安装 supervisor

# yum install python-setuptools
# easy_install supervisor

配置文件

生成配置文件,并建立相应目录,管理 supervisor 启动进程

# echo_supervisord_conf > /etc/supervisord.conf
# mkdir -p /etc/supervisor/conf.d/

编辑 /etc/supervisord.conf,修改 [include] 区块内容:

[include]
files = /etc/supervisor/conf.d/*.conf

(supervisor 会加载 /etc/supervisor/conf.d/ 下的所有 .conf 文件)

设置 Laravel 队列

新建 /etc/supervisor/conf.d/store_recharge.conf 文件:

[program:store_recharge]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/store/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/store/storage/logs/queue.log

这里开启了 8 个 queue:work 进程,并监视他们,如果失败的话,自动重启

启动 supervisor 服务

# supervisord

supervisor 安装及 Laravel 队列设置完毕

如果以后配置文件有修改,或者新增,进入 supervisor 控制台,执行下面的命令

supervisorctl

supervisorctl> reread
supervisorctl> update
supervisorctl> start store_recharge:*

中间可能有错误 需要运行 supervisord -c

注: supervisord是服务端,supervisorctl是客户

发表评论

电子邮件地址不会被公开。 必填项已用*标注