文章目录
一、celery跑起来!
组件安装
主角 : celery
配角 : redis 或者 rabbitmq
linux:
pip install reids celery
windows
pip install redis eventlet
注意 :
windows上使用celery,bug很多,慎用!
启动celery时,记得后面加上 -P eventlet
比如 : celery worker -A app1 -c 16 -P eventlet
架构图:如下所示
-
user 就是用户的控制代码。(比如下面你的app.py)
-
borker 是中间件,可以使用 redis 或者 rabbitmq.
-
workers 就是 执行具体任务的代码。 (比如下面的 tasks.py)
-
backend 是结果存储的地方, 支持很多存储方式,常见的是 支持sqlalchemy的数据库、redis等。
使用步骤
1 配置broker 和 backend
broker只支持 redis, rabbitmq。
broker = 'redis://localhost:6379/1'
backend 可以使用很多,比如支持sqlalchemy的数据库,redis也行。
backend = 'redis://localhost:6379/2'
result_backend = 'db+sqlite:///results.sqlite'
result_backend = 'db+mysql://scott:tiger@localhost/foo'
result_backend = 'db+postgresql://scott:tiger@localhost/mydatabase'
result_backend = 'db+oracle://scott:[email protected]:1521/sidname'