Celery 3.1 Documentation
2.27 MB
607 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档介绍了Celery 3.1版本的新功能和改进,其中包括对broker URL和result backend的支持、worker新命令的引入、任务控制模块的调整、心跳频率的更新,以及兼容性和性能的改进。新版本支持Prefork Pool和 Eventlet 模式,提供了更灵活的任务处理方式,并增强了安全性和社区支持。Celery是一个专注于实时处理和任务调度的分布式系统,具备高度的可扩展性和兼容性。 | ||
AI总结 | ||
《Celery 3.1 Documentation》总结如下:
### 1. **版本概述**
- **Celery 3.1 (Cipater)** 是一个简单、灵活且可靠的分布式系统,专注于实时任务处理,同时支持任务调度。它适用于处理大量消息,提供多种扩展性和配置选项。
- **兼容性**:官方支持 Python 2.6、2.7、3.3 和 PyPy。
### 2. **新功能与改进**
- **Broker 和 Result Backend**:
- 支持通过 URL 设置 Broker(如 `broker='redis://'`)。
- 结果后端(Result Backend)现在支持通过 URL 配置,当前仅支持 Redis(如 `CELERY_RESULT_BACKEND='redis://localhost/1'`)。
- **心跳频率**:心跳频率调整为每 5 秒一次,心跳事件消息中包含频率信息,方便客户端判断工作者是否在线。
- **命令行工具**:
- 引入新的 `celery` 命令,作为所有其他命令的入口点,主函数可通过 `celery.start()` 调用。
- 新增 `bugreport` 命令,用于生成错误报告,可通过 Python REPL、命令行或远程工作者获取。
- **模块变更**:
- `celery.actors` 模块已移除,功能整合到 `cl` 模块。
- `celery.log` 模块移至 `celery.app.log`,`celery.task.control` 移至 `celery.app.control`。
- **注解与装饰器**:
- 支持通过 `@` 开头的键设置注解,例如:
```python
CELERY_ANNOTATIONS = {
'tasks.add': {'@__call__': debug_args},
}
```
- **信号**:
- 新增 `task_revoked` 信号,在任务被撤销或终止时触发。
- **属性重命名**:
- `AsyncResult.task_id` 重命名为 `AsyncResult.id`。
- `TasksetResult.taskset_id` 重命名为 `TasksetResult.id`。
### 3. **修复内容**
- 修复了兼容性问题,例如:
- 工作者与 `billiard` 模块在不支持 C 扩展时的兼容性。
- `Group.restore` 中未尊重 `backend` 参数的问题。
### 4. **重要注意事项**
- **移除与弃用**:
- 停止支持 Python 2.5。
- 默认禁用 Pickle 序列化,需手动启用。
- 旧命令行程序已移除。
- **模块重命名**:
- `celery.task.trace` 重命名为 `celery.app.trace`。
- **未来版本的移除计划**:
- 即将移除的模块和功能包括旧任务 API、`TaskSet`、`celery.result`、`celery.loader` 等。
### 5. **社区与支持**
- Celery 是开源项目,采用 BSD 许可证。
- 具体的社区支持、文档和贡献指南可通过 [Celery 官方文档](http://docs.celeryproject.org/en/3.1/) 获取。
### 总结
Celery 3.1 是一个功能强大的分布式任务队列框架,适合需要实时处理和高并发场景的应用。升级至 3.1 版本时,需注意弃用和移除的功能,并根据需求调整配置和任务管理方式。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
600 页请下载阅读 -
文档评分