Celery 4.4.2 Documentation
2.85 MB
797 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档详细介绍了Celery 4.4.2版本的更新内容,包括新功能、改进和修复。主要更新包含:新增对Python 3.8和PyPy的支持,改进Prefork池的性能,增强任务日志记录,优化RabbitMQ和Redis的支持,以及修复多个已知问题。此外,文档还提供了升级指南,强调了配置更改和移除的旧功能,提醒用户在升级前仔细阅读重要说明。 | ||
AI总结 | ||
《Celery 4.4.2 Documentation》文档总结如下:
---
### Celery 4.4.2 主要更新与改进
#### 1. **核心功能与改进**
- 回调函数(errbacks)更名为 `callback` 和 `errback`,现在接受单个标量值 instead of a list.
- 修复了在Windows上终止任务时未终止子进程的问题,确保任务及所有子进程同时终止。
- Cassandra后端现在通过TTL(生存时间)来过期结果。
- `celeryev` 会在与broker连接丢失时尝试重新建立连接。
- `send_task` 在与 `CELERY_ALWAYS_EAGER` 结合使用时会发出警告。
- `apply_async` 在启用 `CELERY_ALWAYS_EAGER` 时会将原始关键字参数转发到 `apply` 方法。
#### 2. **命令行与工具改进**
- `celerybeat` 现在每3分钟同步一次,而不仅仅在关闭时同步。
- `celeryctl` 的 `--expires` 和 `--eta` 参数现在支持ISO-8601格式的字符串。
- `celeryctl` 如果没有收到回复会退出,状态码为EX_UNAVAILABLE(69)。
- `TaskSetResult.delete()` 新增,用于删除已保存的TaskSet结果。
#### 3. **性能与兼容性**
- 支持Python 3.8和PyPy 3.6-7.2。
- 不再支持Python 2.6,2.4的安全修复已回-port到2.3。
- 优化了Prefork池,改善了任务日志记录和内存限制。
- 罗盘MQ支持优先级队列,Queue扩展支持,读写broker URL分开配置。
#### 4. **Bug修复**
- 修复了`celeryev` 创建pidfile重复的问题。
- 修复了批量任务失败时无报错的问题。
- 修复了Unicode解码错误。
- 修复了Mac上ResultSet.iterate不返回结果的问题。
- 修复了在硬时间限制超时时Worker可能挂起的问题。
- 修复了Remote Control命令 `add_consumer` 在队列已被消费时无操作的问题。
#### 5. **新功能与变化**
- `celeryd_detach` 现在通过命令行传递配置。
- 监控工具现在正确处理未知事件,支持用户自定义事件。
- 任务池和结果后端(如Redis、DynamoDB、S3)功能增强。
- 任务注释(Task Annotations)支持速率限制(Rate Limit)。
---
### 升级指南
- **重要兼容性变化**:
- 不再支持Python 2.6。
- 移除了旧有的命令行程序。
- Redis事件不再兼容旧版本。
- Redis队列优先级顺序更改。
- 任务消息协议更改为新协议。
- 配置文件设置名更改为全小写,旧的配置文件仍兼容。
- 任务序列化默认改为JSON。
- **升级步骤**:
1. 升级至Celery 3.1.25。
2. 更新配置文件,使用新设置名。
3. 更新Django配置(如使用`auto-discover`)。
4. 读取本版本的重要说明。
---
### 文档其他内容
- 包含Celery 2.2、2.5等旧版本的变更历史。
- 详细说明了配置文件格式、配置指令及示例。
- 提供了任务队列操作指南,包括安全配置、消息路由、日志设置等。
---
### 总结
Celery 4.4.2主要聚焦于Bug修复和性能优化,同时引入了部分新功能和兼容性改进。升级时需注意配置文件的更改和Python版本支持的调整。该版本是向Celery 5迈进的重要步骤,开发者应参考详细文档以确保平滑升级。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
790 页请下载阅读 -
文档评分