Django Q Documentation
Release 0.2.2
188.69 KB
25 页
0 下载
113 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Django Q 是一个用于 Django 框架的原生任务队列和工作器应用程序,基于 Python 多进程。它支持异步任务、计划和重复任务、加密压缩包、任务结果数据库等功能,并与 Redis 集成。文档介绍了其安装配置、任务处理机制、集群管理、监控以及与 Django 管理界面的集成。用户可以通过命令启动集群,并监控任务队列和结果队列的状态。 | ||
| AI总结 | ||
# Django Q 0.2.2 文档总结
## 概述
Django Q 是一个基于 Django 的任务队列和工作进程应用,使用 Python 多进程技术实现。
## 核心功能
- **多进程工作池**:支持多个 worker 并行处理任务。
- **异步任务**:通过 Redis 进行任务分发。
- **任务调度与重复执行**:支持定时和周期性任务。
- **加密与压缩**:任务数据经过加密和压缩,确保安全性和传输效率。
- **结果存储**:成功和失败的任务结果均存储在数据库中。
- **结果钩子**:允许自定义任务结果处理逻辑。
- **Django Admin 集成**:通过 Django 的 admin 界面管理任务。
- **多集群监控**:支持多集群管理,实时监控任务状态。
- **Redis 支持**:使用 Redis 作为任务队列和结果存储的后端。
## 安装
1. 使用 pip 安装:`pip install Django-q`
2. 将 `django_q` 添加到 `INSTALLED_APPS`:
```python
INSTALLED_APPS = (
# 其他应用
'django_q',
)
```
3. 运行 Django 迁移创建数据库表:`python manage.py migrate`
## 配置
通过 `Q_CLUSTER` 字典在 `settings.py` 中进行配置:
```python
Q_CLUSTER = {
'name': 'myproject',
'workers': 8, # 工作进程数,默认为 CPU 核心数
'recycle': 500, # 每个 worker 处理的任务数,默认 500
'timeout': 60, # 任务超时时间,默认 60 秒
'compress': True, # 是否压缩任务数据,默认 False
'save_limit': 250, # 成功任务保存限制,默认 250
'label': 'Django Q', # admin 界面显示的标签
'redis': { # Redis 连接配置
'host': '127.0.0.1',
'port': 6379,
'db': 0,
}
}
```
## 任务处理
- 使用 `async()` 函数异步提交任务:
```python
from django_q import async
async('math.copysign', 2, -2)
```
- 通过 `result()` 获取任务结果:
```python
from django_q import result
task_result = result(task_id)
```
- 支持结果钩子函数,用于自定义任务结果处理。
## 监控与管理
- **Stat 类**:用于获取集群状态信息:
```python
from django_q.monitor import Stat
for stat in Stat.get_all():
print(stat.cluster_id, stat.status)
```
- **Admin 界面**:
- 显示成功、失败和已调度的任务。
- 提供任务详细信息查看和删除功能。
## 注意事项
- 使用 `SECRET_KEY` 加密任务数据,确保其安全性。
- 任务队列和结果队列可能会积压,需监控 `TQTask` 和 `RQ` 指标。
- 集群停止时会自动终止所有工作进程并清理资源。
## 兼容性
- 支持 Python 2.7 和 3.4。
- 支持 Django 1.7.8 和 1.8.2。
- 依赖库:
- Django
- Django-picklefield
- Redis-py
- Arrow
## 总结
Django Q 是一个功能强大的任务队列解决方案,适用于需要异步处理和任务调度的 Django 项目。通过简洁的配置和强大的监控功能,用户可以轻松管理和优化任务执行流程。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
18 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.4.6