Django Q Documentation
Release 0.7.14
527.40 KB
73 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .epub | 3 |
摘要 | ||
Django Q 是一个原生的 Django 任务队列、调度器和工作应用,支持多进程、异步任务、定时和重复任务、加密压缩、失败和成功记录、结果钩子、组和链,以及与 Django Admin 的集成。它支持多种消息代理,如 Redis、Disque、IronMQ、SQS 和 MongoDB。配置通过 Q_CLUSTER 字典在 settings.py 中进行,支持设置 worker 数量、任务重试、压缩、队列限制等。Django Q 被测试与 Python 2.7 和 3.5,以及 Django 1.8.8 和 1.9.1 配合使用。 | ||
AI总结 | ||
# 《Django Q Documentation Release 0.7.14》总结
Django Q 是一个本地化的 Django 任务队列、调度器和工作应用,支持 Python 多进程。以下是其核心功能、安装及配置等关键信息的总结:
## 核心功能
1. **多进程工作池**:通过多个 worker 进程处理任务。
2. **异步任务**:支持异步执行任务。
3. **定时和重复任务**:支持定时和周期性任务。
4. **任务安全**:任务数据加密和压缩,确保传输安全。
5. **任务管理**:记录任务成功和失败信息,支持通过数据库或缓存存储结果。
6. **任务链和钩子**:支持任务链和钩子机制,增强任务处理灵活性。
7. **集成 Django Admin**:提供管理界面,方便查看和操作任务。
8. **多平台支持**:兼容多种消息中间件(如 Redis、Disque、SQS 等)和集群监控。
---
## 安装
1. 使用 pip 安装:`pip install django-q`
2. 在 `settings.py` 中添加 `'django_q'` 到 `INSTALLED_APPS`。
3. 运行 Django 数据库迁移:`python manage.py migrate`
4. 选择并配置一个消息中间件(如 Redis),并安装对应的客户端库。
---
## 配置
通过在 `settings.py` 中配置 `Q_CLUSTER` 字典,自定义 Django Q 的行为:
- ** name**:用于区分项目,用于队列名,默认为 `'default'`。
- ** workers**:指定 worker 数量,默认为主机 CPU 核心数。
- ** recycle**:指定 worker 处理任务数量后重启,默认为 500。
- ** timeout**:任务超时时间,单位为秒,默认为 60 秒。
- ** compress**:启用任务数据压缩,默认为 `True`。
- ** save_limit**:成功任务的保留数量,默认为 250。
- ** queue_limit**:队列中最多允许的任务数,默认为 500。
示例配置:
```python
Q_CLUSTER = {
'name': 'myproject',
'workers': 8,
'recycle': 500,
'timeout': 60,
'compress': True,
'save_limit': 250,
'queue_limit': 500,
'redis': {
'host': '127.0.0.1',
'port': 6379,
'db': 0,
}
}
```
---
## 管理界面
Django Q 集成了 Django Admin,提供以下功能:
1. **成功任务**:显示所有成功执行的任务,支持按名称、函数和组过滤。
2. **失败任务**:记录任务执行失败的详细信息,可通过管理界面重新提交失败任务。
3. **计划任务**:展示所有计划任务的执行状态。
---
## 兼容性
1. **Python 版本**:支持 Python 2.7 和 3.5。
2. **Django 版本**:支持 Django 1.8.8 和 1.9.1,部分功能可能与 Django 1.7 兼容,但不再官方测试。
3. **依赖库**:依赖 `django-picklefield`、`arrow` 和 `blessed`,详细版本要求可参考项目仓库中的 `requirements.txt` 文件。
---
## 开发状态
- 代码在 GitHub 上持续更新,测试对 Python 2.7.10 和 3.5 的最新版本进行。
- 依赖库持续保持最新,确保兼容性和功能更新。
如需更多详细信息,可参考 [Django Q GitHub 仓库](https://github.com/Koed00/django-q)。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
66 页请下载阅读 -
文档评分