Celery 2.4 Documentation
1.54 MB
395 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档提供了Celery 2.4.7的功能概述、安装指南、变化历史和贡献指南。Celery是一个开源的异步任务队列,支持分布式消息传递,适用于实时操作和任务调度。其核心组件包括任务(task)、工作者(worker)和消息中间件(broker)。文档详细记录了各版本的更新内容,包括安全修复、功能改进和性能优化。此外,还介绍了如何与Django、Flask等框架集成,以及如何通过GitHub参与Celery的开发和贡献。 | ||
AI总结 | ||
# Celery 2.4 Documentation 总结
## 1. 简介
Celery 是一个开源的异步任务队列/作业队列,基于分布式消息传递实现。它专注于实时操作,同时支持任务调度。Celery 的执行单元(任务)可以在一个或多个 worker 节点上并发执行,使用 multiprocessing、Eventlet 或 gevent。任务可以异步执行(在后台运行)或同步执行(等待结果)。它广泛应用于生产系统,处理每日数百万个任务。
### 特点
- 支持 RabbitMQ、Redis、Beanstalk、MongoDB、CouchDB 等消息队列。
- 无缝集成 Django、Pylons 和 Flask 框架。
- 支持 Webhooks,可与其他语言协作。
- 任务可以通过装饰器或自定义 Task 子类创建。
- 提供丰富的 API 和命令行工具,用于任务控制、监控和配置。
## 2. 功能概述
- **任务创建**:通过 `@celery.task()` 装饰器或自定义 Task 子类定义任务。
- **任务执行**:任务可以在后台异步执行,也可以在前台同步执行。
- **工作节点**:Worker 节点执行任务,支持多种并发模型。
- **消息队列**:推荐使用 RabbitMQ,支持其他多种消息中间件。
- **监控与控制**:提供命令行工具和 API,用于任务监控、控率限制和广播指令。
### 核心组件
- **Broker(消息队列)**:负责任务分发和调度。
- **Worker(工作节点)**:执行任务的节点。
- **Backend(结果存储)**:存储任务执行结果。
- **Monitoring(监控工具)**:用于任务状态监控和分析。
### 配置
- **结果存储**:支持 Redis、MongoDB 等多种存储后端。
- **任务超时设置**:通过 `CELERY_TASK_ALWAYS_EAGER` 和 `CELERY_TASK_TIME_LIMIT` 配置。
- **日志配置**:支持日志记录和格式化输出。
## 3. 安装与使用
- **安装方式**:
- 通过包管理器:`pip install celery`
- 从源码安装:`python setup.py install`
- 使用开发版本:克隆仓库并运行安装命令。
- **快速上手**:通过简单的配置和命令行工具即可启动 Worker 并执行任务。
## 4. 主要版本变更
- **版本 2.4.7**:
- 更新 Kombu 依赖,避免安装版本 2.2。
- **版本 2.4.6**:
- 修复 `--uid` 和 `--gid` 同时指定时群组 ID 无法更改的问题。
- **版本 2.4.5**:
- 修复周期任务间隔时间计算错误的问题。
- **版本 2.4.4**:
- 更新结果存储机制,支持 TTL(时间到期)。
- **版本 2.4.3**:
- 修复 `celeryctl` 导入模块的拼写错误。
- **版本 2.4.2**:
- programma 模块不再使用相对导入。
- **版本 2.4.1**:
- 修复 `celeryctl inspect` 命令的输出丢失问题。
- 优化进程池的空闲 CPU 使用率。
## 5. 安全修复
- **版本 2.2.8**:
- 修复 Daemons 使用 `--uid`/`--gid` 时权限未正确降级的问题。
- **版本 2.3.3**:
- 修复子进程尝试两次创建 PID 文件的问题。
- 修复日志记录中 Unicode 对象的显示问题。
## 6. 其他
- **贡献代码**:
- Fork 仓库:`git clone https://github.com/ask/celery.git`
- 提交 Pull Request 或通过邮件提交补丁。
- 遵循开发指南和贡献指南。
- **开发分支**:
- 主要分支包括 `master` 和 `release`。
- 功能分支用于开发新功能,合并后删除。
- **标签**:
- 发布标签格式为 `vX.Y.Z`。
- 实验版本标签格式为 `vX.Y.Z-id`。
## 建议
- 使用推荐的 RabbitMQ 作为消息中间件。
- 检查安全修复部分,确保生产环境中的权限设置正确。
- 参考开发指南和贡献指南,参与开源社区。
---
以上是《Celery 2.4 Documentation》的核心内容和关键信息的总结,涵盖了基本功能、安装使用、版本变更和安全修复等重点内容,力求简洁明了,便于理解和参考。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
388 页请下载阅读 -
文档评分