Django Q Documentation
Release 1.3.6
512.34 KB
81 页
0 评论
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
文档介绍了Django Q,这是一个原生的Django任务队列、调度器和worker应用,使用Python多处理。其主要功能包括多进程worker池、异步任务、定时/周期任务、压缩和签名的包裹、故障和成功记录、结果钩子、组和链式操作以及与Django Admin的集成。它支持多种消息代理如Redis、Disque、IronMQ、SQS、MongoDB和ORM,并兼容多种PaaS环境和集群监控。Django Q支持多种语言并提供与Rollbar和Sentry的错误报告集成。 | ||
| AI总结 | ||
# 《Django Q Documentation Release 1.3.6》总结
## 1. 引言
Django Q 是一个功能强大的本地任务队列、调度器和工作器应用,专为 Django 框架设计,利用 Python 的多处理(multiprocessing)技术。它支持异步任务、定时任务、重复任务等功能,并提供与 Redis、Disque、IronMQ、SQS、MongoDB 等多种消息代理的兼容性。
## 2. 主要功能
- **多处理 worker 池**:支持多 worker 运行,提升任务处理效率。
- **异步任务**:方便快速运行异步操作。
- **定时任务、Cron 表达式和重复任务**:支持灵活的任务调度。
- **任务签名与压缩**:确保任务安全性,防止恶意篡改。
- **任务结果存储**:将任务结果存储至数据库或缓存,便于追踪。
- **结果钩子、任务分组与链式调用**:增强任务处理的灵活性。
- **与 Django Admin 集成**:提供直观的任务管理界面。
- **多实例与多集群支持**:适用于分布式环境,提升系统扩展性。
- **错误报告集成**:支持 Rollbar 和 Sentry 等工具,方便监控和报告任务失败情况。
## 3. 安装
- **安装方式**:
- 使用 pip 安装:`$ pip install django-q`
- 添加 'django_q' 到项目的 `INSTALLED_APPS` 中。
- 运行 Django 数据迁移命令:`$ python manage.py migrate`
- **环境要求**:
- 测试通过的 Python 版本:3.7、3.8 和 3.9。
- 测试通过的 Django 版本:2.2.x 和 3.1.x。
## 4. 配置
配置通过 `settings.py` 中的 `Q_CLUSTER` 字典完成,配置项如下:
```python
Q_CLUSTER = {
'name': 'myproject', # 项目名称,用于区分相同代理的不同项目。
'workers': 8, # 指定 worker 数量, 默认值为宿主机的 CPU 核数。
'recycle': 500, # 指定 worker 处理多少个任务后自动重启。
'timeout': 60, # 工作线程的超时时间(秒)。
'compress': True, # 是否压缩任务数据。
'save_limit': 250, # 成功任务的最大存储数量。
'redis': { # Redis 配置示例
'host': '127.0.0.1',
'port': 6379,
'db': 0,
},
}
```
所有配置项均为可选项,用户可根据需求自定义。
## 5. 兼容性
- **操作系统**:适用于大多数操作系统,包括 macOS。不过注意,macOS 上 `multiprocessing.Queue.qsize()` 方法不受支持,可能导致监控功能无法显示队列大小。
- **浏览器与设备**:支持多种设备,提供灵活的监控和管理功能。
## 6. 错误报告
Django Q 提供了一个可扩展的错误报告系统,当前已集成的报告工具包括:
- **Rollbar**:需安装 `django-q-rollbar` 包,配置后可将错误自动报告至Rollbar平台。
- **Sentry**:需安装 `django-q-sentry` 包,提供 Sentry 错误报告功能,方便集中监控和处理故障。
## 7. 电子邮件集成
Django Q 提供了一个邮件后端(通过 `django-q-email` 包),可以轻松实现异步发送邮件功能,提升邮件发送效率。
## 8. Admin 界面
通过 Django Admin 提供任务管理功能,界面简洁,功能包括:
- **成功任务**:展示所有成功执行的任务,支持按名称、函数名、组 ID 筛选,最大存储数由 `save_limit` 配置。
- **失败任务**:列出所有因错误未完成的任务,可通过管理菜单重新提交失败任务。
- **任务监控**:提供运行中的任务监控,支持实时查看任务状态。
通过以上功能,Django Q 在提升任务处理效率的同时,也为开发者提供了强大的任务监控与管理工具,适用于各种需要异步任务处理的场景。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
74 页请下载阅读 -
文档评分














Django Q Documentation
Release 1.3.6