celery使用 Zookeeper 或 kafka 作为broker,使用 mysql 作为 backend
Celery 是一个分布式任务队列,可以使用 Zookeeper 或 Kafka 作为消息中间件的代理(broker),同时使用 MySQL 作为任务结果存储后端(backend)。
以下是一个 Celery 配置示例,使用 Zookeeper 作为消息代理,并将 MySQL 设置为结果存储后端:
- 安装依赖库:
pip install celery[zookeeper] mysql-connector-python
- 配置 Celery 应用:
from celery import Celery
app = Celery('my_task', broker='zookeeper://localhost:2181/celery', backend='mysql+mysqlconnector://user:password@localhost:3306/mydatabase')
@app.task
def add(x, y):
return x + y
在这个示例中,broker='zookeeper://localhost:2181/celery'
指定了 Celery 使用 Zookeeper 作为消息代理,并给出了 Zookeeper 的地址和路径。backend='mysql+mysqlconnector://user:password@localhost:3306/mydatabase'
指定了 Celery 将使用 MySQL 作为结果存储后端,并提供了数据库的连接信息。
- 启动 Celery 工人:
celery -A my_task worker -l info
确保你的 Zookeeper 服务器正在运行,并且你的 MySQL 数据库已经创建,并且 Celery 有足够的权限去写入数据。
评论已关闭