| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
Celery 3.1版本文档介绍了该版本的主要更新内容,包括Prefork池的改进、不再支持Python 2.5、移除了旧的命令行程序以及对CELERY_ANNOTATIONS的新支持。文档还提到了内部模块重命名、任务类的共享方式调整以及对Unicode错误和任务撤销信号的修复。此外,版本更新了对BROKER_POOL_LIMIT的使用,并弃用了部分旧设置。 | ||
| AI总结 | ||
《Celery 3.1 Documentation》总结如下:
### 1. 版本信息
- **版本号**:3.1(代号Cipater)
- **发布日期**:2013年11月9日
- **主要贡献者**:Ask Solem
### 2. 主要新功能
#### 2.1 功能改进
- **Prefork池改进**:
- 不再支持通过函数直接设置`connect_timeout`,仅可通过`BROKER_CONNECTION_TIMEOUT`配置实现。
- `CELERY_AMQP_TASK_RESULT_EXPIRES`设置已弃用,建议使用`CELERY_TASK_RESULT_EXPIRES`。
#### 2.2 新功能
- **任务 revoke 信号**:
- 新增`request`参数,允许通过`Request`对象获取任务信息。
- **任务排除队列功能**:
- 新增`-X`命令行参数,支持排除指定队列(与`-Q`参数相反)。
- **新API**:
- 添加`celery.app.push_current_task()`和`celery.app.pop_current_task()`,用于操作当前任务栈。
- **新异常处理**:
- `RetryTaskError`重命名为`Retry`,旧名称仍可使用。
- 新增半断言异常`Reject`,用于拒绝/重新队列任务。
#### 2.3 兼容性改进
- **支持Python版本**:
- 最新版本要求Python 2.6及以上,不再支持Python 2.5。
- 最后一个支持Python 2.5的版本为3.0系列。
### 3. 重要变更
#### 3.1 弃用功能
- **移除以下设置**:
- `BROKER_INSIST`
- `CELERY_AMQP_TASK_RESULT_CONNECTION_MAX`
- `CELERY_TASK_ERROR_WHITELIST`
- **推荐替代方案**:
- 使用`CELERY_ANNOTATIONS`配置任务错误邮件白名单:
```python
app.conf.CELERY_ANNOTATIONS = {
'*': {
'ErrorMail': MyErrorMails,
},
}
```
#### 3.2 修复问题
- **任务处理**:
- 修复任务类在非抽象情况下多次导入的问题(Issue #1150)。
- 修复`.apply_async`在`args`为`None`时的行为(Issue #1459)。
- **日志与异常**:
- 修复Unicode错误(Issue #427)。
- 修复`BaseException`在`eventlet/gevent/solo/threads`池中的处理。
- **队列管理**:
- 修复`autoscale`和`pool_grow/pool_shrink`命令的消费者预取计数调整问题。
#### 3.3 模块重命名
- `celery.task.trace`重命名为`celery.app.trace`。
- `celery.concurrency.processes`重命名为`celery.concurrency.prefork`。
### 4. 其他重要信息
- **依赖项**:
- Celery现在依赖于`billiard`库,包含`no-execv`补丁。
- **时区支持**:
- 默认启用UTC时区,不兼容旧版本的本地时间设置。
- 可通过`CELERY_ENABLE_UTC`禁用UTC时区。
### 5. 总结
Celery 3.1版本在功能、兼容性和性能方面均有显著提升,建议用户根据文档更新配置,充分利用新功能并避免使用已弃用的功能。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
600 页请下载阅读 -
文档评分














Celery 3.1 Documentation
Celery 1.0 Documentation