Django Q Documentation
Release 0.7.17
416.84 KB
56 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
Django Q Documentation, Release 0.7.16 是一个适用于Django的任务队列,支持异步任务、定时任务和重复任务,同时具备多种消息代理(broker)如Redis、Disque、IronMQ、SQS和MongoDB等。文档涵盖了安装步骤、配置选项、任务处理机制以及监控功能。Django Q支持任务加密、失败重试、结果存储,以及通过Django Admin查看和管理任务。其架构确保了任务的高效处理和系统的可靠性,适用于多种部署环境。 | ||
AI总结 | ||
以下是对《Django Q Documentation Release 0.7.16》的总结,按照文档结构和内容层次进行梳理,重点突出核心观点和关键信息:
---
### **Django Q 0.7.16 文档总结**
#### **1. 功能特点**
Django Q 是一个用于异步任务、定时任务和集群管理的 Django 工具,支持多种消息 broker,适用于分布式任务处理。主要功能包括:
- 多进程工作池(Worker pools)
- 异步任务和定时任务
- 加密和压缩的任务包
- 任务失败和成功的存储(数据库或缓存)
- 任务结果钩子、分组和链式调用
- Django Admin 集成
- 多种消息 broker 支持(Redis、Disque、IronMQ、SQS、MongoDB、Django ORM 等)
- 多集群监控和 PaaS 兼容性
---
#### **2. 安装**
- 使用 pip 安装最新版本:`pip install django-q`
- 将 `django_q` 添加到 `INSTALLED_APPS` 中
- 运行迁移命令:`python manage.py migrate`
- 选择并配置消息 broker,并安装对应的客户端库。
---
#### **3. 配置**
配置通过 `Q_CLUSTER` 字典在 `settings.py` 中完成,所有配置项均为可选。
- 示例配置:
```python
Q_CLUSTER = {
'name': 'myproject',
'workers': 8,
'timeout': 60,
'retry': 60,
'compress': True,
'save_limit': 250,
'queue_limit': 500,
'redis': {
'host': '127.0.0.1',
'port': 6379,
'db': 0,
}
}
```
- 常用配置项:
- `name`:用于区分项目,默认为 `'default'`。
- `workers`:集群的工作进程数,默认为主机的 CPU 核心数。
- `timeout`:任务执行超时时间,单位为秒,默认无超时。
- `retry`:消息 broker 等待任务完成的时间,默认为 60 秒。
- `compress`:是否压缩任务包,默认 `False`。
- `save_limit`:成功任务的存储上限,默认 250,设置为 0 表示无限制。
- `queue_limit`:单集群在内存中保留的任务数量,默认为 `workers**2`。
---
#### **4. 功能详解**
- **任务安全性**:任务通过 Django 的 `django.core.signing` 模块加密,确保只有授权节点可以读取和执行任务。
- **结果存储**:失败任务始终存储,成功任务根据 `save_limit` 配置存储。
- **定时任务**:支持定时和重复任务,已错过的任务默认可catch up。
- **队列管理**:支持多种 broker,确保至少一次投递(at-least-once delivery)。
---
#### **5. 支持的消息 broker**
- **Redis**:推荐$objection { host, port, db }。
- **Disque**:支持 Heroku 的 Tynd Disque addon。
- **IronMQ**:HTTP 기반队列服务,支持批量操作。
- **Amazon SQS**:稳定且便捷,适合 AWS 用户。
- **MongoDB**:高扩展性,适合高流量场景。
- **Django ORM**:直接使用 Django 数据库,适合中等规模的任务队列。
---
#### **6. 监控与管理**
- 提供集群状态监控,包括任务队列、结果队列、工作进程等。
- 通过 Django Admin 提供任务管理界面,便于查看成功和失败的任务。
---
#### **7. 兼容性**
- 测试通过的 Python 版本:2.7 & 3.5。
- 测试通过的 Django 版本:1.8.12 & 1.9.5,可能与 1.7 仍然兼容但不再测试。
---
Django Q 旨在提供灵活、安全、高效的异步任务和集群管理功能,适合分布式系统和高并发场景。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
49 页请下载阅读 -
文档评分