next step with celery - 18965050/python-celery GitHub Wiki
celery通常的目录结构为:
proj/__init__.py
/celery.py
/tasks.py
# proj/celery.py
from __future__ import absolute_import
from celery import Celery
app = Celery('proj',
broker='redis://[email protected]:6379/8',
backend='redis://[email protected]:6379/9',
include=['proj.tasks'])
# Optional configuration, see the application user guide.
app.conf.update(
CELERY_TASK_RESULT_EXPIRES=3600,
)
if __name__ == '__main__':
app.start()
# proj/tasks.py
from __future__ import absolute_import
from .celery import app
@app.task
def add(x, y):
return x + y
@app.task
def mul(x, y):
return x * y
@app.task
def xsum(numbers):
return sum(numbers)
启动worker命令为:
celery -A proj worker -l info
启动后, 会显示如下的信息:

- broker: broker地址, 也可以在命令行中通过
-b修改 - concurreny: 任务预派生的进程数. 默认值是机器的CPU核数. 也可通过
-c修改 - events: 是否运行celery在任务触发时发送监控消息(events), 这些监控消息可被一些监控程序(比如celery events)使用.
- queues: 任务队列.
调用方式:
add.delay(2, 2)
add.apply_async((2, 2))