使用supervisor后台运行celery
文
发布于
本文导览
使用supervisor后台运行celery
最近打算上线一个B站相关的网站,采用了 celery 来处理任务队列,在本地的时候,那是可以多开,一直开着终端。但是线上生产环境肯定不行。所以需要使用supervisor。
先安装supervisor
安装命令:
$ pip install supervisor
对supervisor进行配置
先在etc目录下生成一个supervisor文件夹,然后生成默认配置文件:
$ echo_supervisord_conf > /etc/supervisor/supervisord.conf
修改配置文件
用vim修改一下:
$ vim /etc/supervisor/supervisord.conf
在最底下改成:
[include]
files = /etc/supervisor/supervisord.conf.d/*.conf
然后创建并进入supervisord.conf.d文件夹,创建 celeryd_worker.conf 文件并进行如下配置:
[program: ProjectName]
command=celery -A bookstore worker -l info ; 运行程序的命令
directory=/root/Publishing/PublishOutput/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
autostart=true ; 是否自动启动
stderr_logfile=/var/log/ProjectName.err.log ; 错误日志文件
stdout_logfile=/var/log/ProjectName.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
startsecs=1 ; 自动重启间隔
启动 supervisor
$ supervisord -c /etc/supervisor/supervisord.conf
如果遇到报错信息为端口正在被占用的话运行下面的命令:
$ unlink /var/run/supervisor.sock
# 或者
$ unlink /tmp/supervisor.sock
用 supervisorctl 即可监视状态。
© 商业转载请联系站长获得授权;
非商业转载请注明文章来源及链接。
评论