ceelry是一个专注于实时处理和任务调度的分布式任务队列。
使用celery的常见场景如下:
- web应用。当用户触发的一个操作需要较长时间才能完成时,可以把它作为任务交给celery去异步执行,执行完再返回给用户。这段时间用户不需要等待,提高了网站的整体吞吐量和响应时间。
- 定时任务。
- 其他可以异步执行的任务。为了充分提高网站性能,对于请求和响应之外的那些不要求必须同步完成的附加工作都可以异步完成。
celery的架构
- celery beat。任务调度器。
- celery worker。执行任务的消费者。
- Broker。消息代理。
- Producer。调用了celery提供的API、函数或者装饰器而产生任务并交给任务队列处理的都是任务生产者。
- Result Backend。任务处理完后保存状态信息和结果,以供查询。
产生发任务的方式有两种:
- 发布者发布任务(web应用)
- 任务调度按期发布任务(定时任务)
网友评论