Django Q Documentation
Release 0.3.6
198.62 KB
35 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .epub | 3 |
摘要 | ||
Django Q 是一个本地 Django 任务队列和工作进程应用,支持多进程、异步任务、定时和重复任务、加密压缩、失败和成功数据库记录、结果 Hook 以及 Django Admin 集成。它与 Redis兼容并支持多集群监控。日期库展示了所有连接到项目的集群信息,并提供了Host、Id、State、Pool等状态监控。通过Admin页面,可以查看成功任务、失败任务和计划任务。支持通过 Schedule 模型或schedule()函数管理定时任务,并提供了命令行工具和配置选项以满足不同需求。 | ||
AI总结 | ||
以下是对《Django Q Documentation Release 0.3.6》文档的总结,重点突出核心内容和关键信息,逻辑清晰且易于理解:
---
### **Django Q 简介**
Django Q 是一个本地 Django 任务队列和 worker 应用程序,使用 Python 多进程实现。主要功能包括:
- 多进程 worker 池
- 异步任务
- 定时任务和重复任务
- 加密和压缩数据包
- 失败和成功数据库记录
- 结果钩子
- Django Admin 集成
- 与 PaaS 兼容,支持多实例和集群
- 多集群监控
- 支持 Redis
-兼容 Python 2 和 3
---
### **文档内容概述**
1. **安装与配置**
- 安装:使用 pip 安装 `django-q`,并在 `settings.py` 中添加 `'django_q'` 到 `INSTALLED_APPS`。
- 配置:在 `settings.py` 中定义 `Q_CLUSTER` 字典,配置工作参数,例如:
```python
Q_CLUSTER = {
'name': 'myproject',
'workers': 8,
'recycle': 500,
'timeout': 60,
'compress': True,
'save_limit': 250,
'cpu_affinity': 1,
'label': 'Django Q',
'redis': {
'host': '127.0.0.1',
'port': 6379,
'db': 0,
},
}
```
- Redis 服务器需要提前运行。
2. **任务**
- **异步任务**:使用 `async()` 函数将任务异步执行。
- **调度任务**:支持一次性、定时(如每小时、每日)和重复任务,通过 `schedule()` 函数或 `Schedule` 모델管理。
- **失败任务**:失败任务会记录错误信息,可通过 Admin 重提交。
- **成功任务**:成功任务可通过 `save_limit` 配置保留数量。
3. **管理命令**
- 通过 Django 管理命令启动监控工具:`python manage.py qmonitor`。
- 监控界面显示集群状态、主机信息、进程 ID、worker 池大小等。
4. **Admin 页面**
- 提供三个模型:
- **成功任务**:显示成功执行的任务,支持删除。
- **失败任务**:显示失败任务,支持重提交。
- **调度任务**:管理调度任务的状态、创建、编辑和删除。
5. **调度示例**
- 使用 `schedule()` 函数或 `Schedule.objects.create()` 直接创建调度任务。
- 示例:使用 `math.copysign` 函数创建每日调度任务:
```python
schedule('math.copysign', 2, -2, hook='hooks.print_result', schedule_type=Schedule.DAILY)
```
6. **集群监控**
- 监控显示所有连接到项目的 Q 集群信息,包括主机、集群 ID、状态、worker 池大小等。
- 集群状态包括:启动中、空闲、工作中、停止中、已停止。
7. **示例应用**
- **发送邮件**:异步发送邮件,避免阻塞主进程。
- **信号处理**:在 Django 模型信号中使用异步任务,避免延迟模型保存。
---
### **总结**
Django Q 是一个功能强大的本地任务队列工具,支持异步任务、定时任务、失败重试和集群监控。通过简单的配置和 Django Admin 集成,可以高效管理任务并优化项目性能。其灵活的调度功能和与 Redis 的结合,使其成为处理异步任务的优秀选择。
---
以上总结涵盖了文档的核心内容,保留了关键信息,省去了冗余细节,便于快速了解 Django Q 的功能和使用方法。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
28 页请下载阅读 -
文档评分