使用Supervisor管理Python Celery

本文详细介绍了如何使用pip在虚拟环境中安装Supervisor,配置Supervisor来管理Celery任务,包括设置基础配置、编写Celery初始文件、启动Supervisor及检查运行状态的方法。

下载、安装和使用


1、使用pip直接在当前虚拟环境下安装

pip install supervirsor


2、将supervirsor配置文件映射到指定目录,例如项目根目录

mkdir conf
echo_supervisord_conf > conf/supervisod.conf


3、配置映射好的supervisor配置文件。基础配置如下:(将其前面的;删除即可)

[inet_http_server]         ; 
port=127.0.0.1:9001

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; 
serverurl=http://127.0.0.1:9001 ;

[include]
files = *.ini


更多配置请移步官网。


4、当前目录编写celery初始文件.ini。

[program:你的名称]

command=要执行的命令

directory=工作目录

environment=PATH="包含celery的安装文件bin路径(虚拟环境)"
例如:/Users/xxx/Envs6/虚拟环境名称/bin/


更多配置请移步官网。


5.启动supervisor


在项目跟路径执行如下命令:

supervisord -c supervisor配置文件夹/supervisod.conf


查看是否启动:

Mac: ps -ef | grep supervisor
Linux: ps -aux | grep supervisor


进入supervisor命令行:

supervisorctl


PS:开启了用户名和密码选项的需要输入用户名和密码

在Docker容器中使用Celery任务队列服务并配合Supervisor作为守护进程,可以确保Celery在容器重启时能够自动恢复任务处理。以下是一个简单的步骤说明: 1. **安装依赖**: - 首先,在Dockerfile中添加CeleryCelery Beat(定时任务)以及Supervisor所需的Python库。 ```dockerfile RUN pip install celery[redis] supervisor ``` 2. **配置 Celery**: - 创建一个celeryconfig.py文件,设置Celery的broker(如Redis)和backend,以及其它必要的配置项。 ```python # celeryconfig.py import os CELERY_BROKER_URL = 'redis://localhost:6379/0' CELERY_RESULT_BACKEND = 'redis://localhost:6379/0' CELERY_TIMEZONE = 'UTC' ``` 3. **配置 Supervisor**: - 在Dockerfile中,复制一份Supervisor的配置文件supervisord.conf.example,并重命名为supervisord.conf。 4. **启动Celery命令**: - 在supervisord.conf中,添加一条Celery worker的配置,指定worker的启动命令和环境变量。 ```ini [program:celery_worker] command=/usr/local/bin/celery -A your_celery_app worker --loglevel=info --concurrency=4 autostart=true autorestart=true redirect_stderr=true ``` 5. **启动 Supervisor**: - 在Supervisor的配置里,还需要添加一条启动supervisord命令,用于监控和管理其他服务。 6. **运行 Docker 容器**: - 在Dockerfile的最后,指定使用Supervisor启动应用程序和服务,例如: ```dockerfile CMD ["supervisord", "-c", "/etc/supervisord.conf"] ``` 7. **运行容器**: - 构建并运行Docker镜像,然后启动包含CelerySupervisor的服务容器。 现在,当你需要停止或更新Celery应用时,只要停止或更新Docker容器,Supervisor会确保Celery worker在容器重启后自动重新开始。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值