| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Celery 2.0 introduces significant updates, including the removal of Django dependency, addition of new remote control commands like 'dump_active', support for periodic tasks, and improved performance with a prefetch count. Key changes include enhanced task management, new configuration options, and better compatibility with various backends. The document highlights changes in task execution, result storage, and worker communication, ensuring compatibility and efficiency. | ||
| AI总结 | ||
### Celery 2.0 文档总结
#### 新增功能
1. **远程控制命令**
- `stats`:显示worker的详细信息,包括进程ID、任务类型及执行总数。
- `dump active`:列出当前正在执行的任务。默认情况下,参数通过`repr`表示,若参数安全,则可设置`safe=True`。
2. **实验性功能**
- 新增持久化撤销支持,通过`--statedb`参数启用,任务状态信息存储在`/var/run/celeryd.db`文件中。
3. **性能优化**
- 将`prefetch count`设置为四倍于并发数,任务平均处理时间从0.1秒提升至0.03秒。
- 新增`CELERYD_PREFETCH_MULTIPLIER`配置,默认值为4。
4. **任务管理**
- 新增速率限制功能,支持按任务类型或全局设置速率限制。
- 新增周期性任务系统,任务调度更加精确(默认基于时间点调度)。
- 新增自动注册功能,简化任务注册流程。
5. **任务执行**
- `TaskSet.run`已弃用,建议使用`TaskSet.apply_async`。
- 支持通过`TaskSet`传递执行选项,如`countdown`。
6. **日志与监控**
- `celeryd`支持事件发送功能(需启用`-E`参数),便于监控工具集成(如`celerymon`)。
- 新增事件类型:`worker-heartbeat`、`task-received/succeeded/failed/retried`、`worker-online/offline`。
7. **错误处理**
- 任务错误日志级别从`INFO`改为`ERROR`,并记录完整的错误堆栈。
- 支持通过`CELERY_STORE_ERRORS_EVEN_IF_IGNORED`配置重新启用错误存储。
8. **其他功能**
- 支持通过`--hostname`参数自定义worker主机名。
- `AsyncResult`的状态检查方法已更新,`is_done`改为`successful`。
#### 重大变化
1. **依赖移除**
- 移除对Django的内置支持,Django用户需使用第三方包`Django-celery`。
2. **配置变量重命名**
- 多个配置变量名称更改,如`CELERYD_DAEMON_LOG_FORMAT`改为`CELERYD LOG FORMAT`,`CELERY_AMQP_CONNECTION_TIMEOUT`改为`CELERY BROKER CONNECTION TIMEOUT`。
3. **模块与内部实现**
- `celery.datastructures.TaskProcessQueue`重命名为`celery.pool.TaskPool`。
- `celery.worker.scheduler`新增智能调度功能,减少对消息队列的轮询频率。
#### 性能改进
1. **任务传递**
- 使用`pickle`处理任务参数,支持传递复杂Python对象。
2. **任务调度**
- 使用新的调度器精确控制任务执行时间(如`timedelta(hours=1)`表示每小时执行一次)。
3. **结果存储**
- 优化任务结果缓存机制,支持通过`CELERY_TASK_RESULT_EXPIRES`配置结果过期时间。
#### 兼容性与注意事项
1. **弃用功能**
- `TaskSet.join`已移除,建议使用`TaskSetResult.join`。
- `task.status`从`DONE`改为`SUCCESS`。
2. **兼容性问题**
- 旧版本的配置语法已弃用,需更新为新命名方案。
- `celery.conf`的公共API名称已统一,旧名称将触发警告。
3. **依赖更新**
- 新增依赖:`billiard`、`python-dateutil`、`Django-PickleField`。
- 移除对`python-daemon`的依赖。
#### 总结
Celery 2.0版本引入了多项新功能和性能优化,同时移除了对Django的内置支持并调整了部分配置和API。用户在升级时需注意配置变量的重命名、模块的调整以及弃用功能的替换。新版本在任务管理、监控和性能方面有显著提升,适合需要高效分布式任务处理的场景。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
277 页请下载阅读 -
文档评分














Celery 2.0 Documentation
Conan 2.0 Documentation