Django Q Documentation
Release 0.7.13
416.37 KB
56 页
0 评论
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档介绍了Django Q 0.7.13版本的功能、安装和配置方法。Django Q是一个基于Python多进程的任务队列、调度器和工作应用,支持多种消息代理如Redis、Disque、IronMQ、SQS和MongoDB。其功能包括异步任务处理、定时和重复任务、结果钩子、组和链的支持,以及Django Admin集成。安装步骤包括使用pip安装、添加到INSTALLED_APPS并运行迁移命令。配置通过Q_CLUSTER字典完成,支持自定义参数如工作者数量、回收策略等。文档还涵盖了不同消息代理的配置详细信息、集群监控功能和任务管理特性。 | ||
| AI总结 | ||
以下是对《Django Q Documentation Release 0.7.13》文档内容的简要中文总结,突出核心观点和关键信息,逻辑清晰,结构分明:
---
### **Django Q 简介**
Django Q 是一个内置于 Django 的任务队列、调度器和工作应用,使用 Python 多进程实现,支持分布式集群监控,兼容多种消息代理(如 Redis、Disque、IronMQ、SQS 等)。
### **核心功能**
- **多进程工作池**:通过多个工作者进程处理任务。
- **异步任务**:支持在后台执行异步任务。
- **定时和重复任务**:支持定时执行和重复运行的任务。
- **加密和压缩**:任务可以加密和压缩以提高安全性。
- **结果存储**:支持将任务的成功或失败结果存储在数据库或缓存中。
- **结果钩子、组和链**:提供钩子功能,可定义任务完成后的行为。
- **Django 管理界集成**:通过 Django Admin 查看和管理任务。
- **多平台兼容**:支持多种消息代理,并兼容 PaaS 环境。
- **集群监控**:支持多集群的任务队列监控和管理。
- **Rollbar 支持**:集成 Rollbar 进行错误报告。
### **安装**
1. 使用 pip 安装最新版本:
```bash
pip install django-q
```
2. 在 `settings.py` 中添加 `django_q` 到 `INSTALLED_APPS`:
```python
INSTALLED_APPS = (
# 其他应用
'django_q',
)
```
3. 运行 Django 数据迁移命令:
```bash
python manage.py migrate
```
4. 选择并配置消息代理,并安装对应的客户端库。
### **配置**
在 `settings.py` 中通过 `Q_CLUSTER` 字典配置 Django Q。示例配置如下:
```python
Q_CLUSTER = {
'name': 'myproject',
'workers': 8,
'recycle': 500,
'timeout': 60,
'compress': True,
'save_limit': 250,
'queue_limit': 500,
'cpu_affinity': 1,
'label': 'Django Q',
'redis': {
'host': '127.0.0.1',
'port': 6379,
'db': 0,
}
}
```
所有配置项均为可选,详细说明如下:
- `name`:用于区分不同项目的任务队列,缺省值为 `'default'`。
- `workers`:工作者进程数量,默认为当前主机的 CPU 核数。
- `recycle`:工作者处理任务的数量后重启,缺省为 500。
- `timeout`:任务的超时时间(秒),缺省为 60。
### **支持的消息代理**
1. **Redis**:默认Broker,支持行级锁,而不需要缓存框架。
2. **Disque**:支持消息回执,确保任务至少一次投递。
3. **IronMQ**:HTTP 基础的队列服务,支持批量取任务。
4. **Amazon SQS**:稳定且经济实惠,支持批量操作,最大消息大小为 256KB。
### **架构**
- **任务签名**:任务在传输前用 Django 的 `django.core.signing` 模块加密,确保任务只能由具有相同密钥的集群或 Django 服务器执行。
- **Broker**:Broker 负责接收任务并分发给集群,支持至少一次投递,确保任务不会丢失。
---
### **总结**
Django Q 是一款功能强大且灵活的任务队列系统,支持多种消息代理和分布式集群,适合在 Django 项目中处理异步任务、定时任务和后台任务。通过简单的配置即可轻松集成到项目中,并提供了完善的监控和管理功能。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
49 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.7.13