avatar

celery利用supervisor后台运行方案

安装

pip install supervisor

测试是否成功

echo_supervisord_conf

创建配置文件

mkdir -m 755 -p /etc/supervisor/
cd /etc/supervisor/
mkdir -m 755 conf.d
echo_supervisord_conf > /etc/supervisor/supervisord.conf
目录结构如下:
在这里插入图片描述

在conf.d目录下创建配置文件celeryd.ini
内容如下:

1
2
3
4
5
6
7
8
9
[program:celeryd]
directory=/home/odoo/odoo_src/openerp
command=/usr/bin/celery -A IMCenter.tasks worker --loglevel=INFO --concurrency=15
stdout_logfile=/var/log/supervisor/celeryd.log
stderr_logfile=/var/log/supervisor/celeryd.log
autostart=true
autorestart=true
startsecs=10
[supervisord]

添加配置文件到主配置文件

vim /etc/supervisor/supervisord.conf
文件最后面 include注释打开

1
2
3
[include]
files = /etc/supervisor/conf.d/*.ini /etc/supervisor/example.ini
; 多个路径用空格隔开就可以了

启动supervisor

supervisor有两个命令,supervisord和supervisorctl,
通过supervisord管理启动和配置supervisor本身,
通过supervisorctl来管理使用supervisor启动和管理的自身的一些应用,如我们的这里的celeryd.py

  • 启动supervisor
    supervisord -c /etc/supervisor/supervisord.conf

  • 关闭supervisor
    supervisorctl shutdown
    如果先建的celeryd.ini(控制文件),在使用启动命令后这些经过配置的程序也会启动

  • 查看supervisor 启动的服务状态
    supervisorctl status
    在这里插入图片描述

  • 启动程序 celeryd.ini
    supervisorctl start program_name
    这里的program的name是配置文件ini中的[program:name],所以这里的program_name是celeryd
    在这里插入图片描述

  • 关闭程序 celeryd.ini
    supervisorctl stop program_name
    在这里插入图片描述

  • 刷新配置文件 如果启动后,修改了ini文件,可以通过reload命令来刷新
    supervisorctl reload

  • 查看supervisor的运行状态
    ps -efH|grep supervisor

文章作者: L1uNan
文章链接: http://www.nanpy.top/posts/4636e0db.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 NanPy
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论