celery(芹菜)是一个异步任务队列/基于分布式消息传递的作业队列。它侧重于实时操作,但对调度支持也很好。
celery用于生产系统每天处理数以百万计的任务。
celery是用Python编写的,但该协议可以在任何语言实现。它也可以与其他语言通过webhooks实现。
建议的消息代理RabbitMQ的,但提供有限支持Redis, Beanstalk, MongoDB, CouchDB, ,和数据库(使用SQLAlchemy的或Django的 ORM) 。
celery是易于集成Django, Pylons and Flask,使用 django-celery, celery-pylons and Flask-Celery 附加包即可。
例子:
两个数相加的例子:
from celery.task import task @task def add(x, y): return x + y
你可以后台运行,或者等待它完成:
>>> result = add.delay(8, 8)
>>> result.wait() # wait for and return the result 16
发布于 2016-11-13 00:49:16 | 153 次阅读