Django Q Documentation
Release 0.8.0
423.43 KB
58 页
0 下载
83 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
Django Q 是一个基于 Django 的任务队列、调度和工人应用程序,使用 Python 多进程。它支持异步任务、计划任务、加密压缩包、失败和成功数据库或缓存、结果钩子、组和链、Django 管理界面、PaaS 兼容性、多集群监控以及多种消息队列。文档介绍了其安装、配置、任务调度、集群管理、监控界面、成功和失败任务管理,以及与 Django 和 Python 版本的兼容性。 | ||
| AI总结 | ||
### Django Q 0.8.0 发布说明总结
Django Q 是一个基于 Django 的任务队列、调度程序和工作进程应用,使用 Python 的 multiprocessing 模块实现。以下是文档的核心内容总结:
---
#### 1. **基本功能**
- **任务队列**:支持异步任务、定时任务和重复任务。
- **任务管理**:支持任务分组、链式任务(Chains)、结果存储(数据库或缓存)及回调钩子。
- **调度功能**:支持每日(D)、每周(W)、每月(M)、每季度(Q)和每年(Y)的任务调度。
- **扩展性**:支持多种消息队列(Redis、Disque、IronMQ、SQS、MongoDB 或 ORM)及 Rollbar 支持。
---
#### 2. **安装与兼容性**
- **安装**:使用 pip 安装最新版本:
```bash
$ pip install Django-q
```
- **兼容性**:
- Python:支持 Python 2.7 和 Python 3.6。
- Django:支持 Django 1.8.18 LTS、1.10.7 和 1.11。
- 注意:Django 1.7 及以下版本不兼容 Python 3.5,Django 1.11 以下版本在 Python 3.6 上未官方支持。
---
#### 3. **配置**
- 配置通过 `Q_CLUSTER` 字典在 `settings.py` 中完成:
```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,
},
}
```
- 所有配置选项均为可选。
---
#### 4. **任务调度**
- **周期类型**:
- **DAILY(D)**:每日执行一次。
- **WEEKLY(W)**:每周执行一次。
- **MONTHLY(M)**:每月执行一次,若遇月末天数不足,任务将在当月最后一天执行。
- **QUARTERLY(Q)**:每季度执行一次。
- **YEARLY(Y)**:每年执行一次,若遇闰年问题,任务将在 2 月 28 日执行。
- **注意事项**:月份和年份调度存在边界问题,需谨慎设置。
---
#### 5. **集群管理**
- **启动集群**:
```bash
$ python manage.py qcluster
```
输出示例:
```
10:57:40 [Q] INFO Q Cluster-31781 starting.
10:57:40 [Q] INFO Process-1:1 ready for work at 31784
...
10:57:40 [Q] INFO Q Cluster-31781 running.
```
- **停止集群**:使用 `Ctrl+C` 或终止信号(SIGTERM 和 SIGKILL)停止。
输出示例:
```
16:44:12 [Q] INFO Q Cluster-31781 stopping.
16:44:13 [Q] INFO Process-1 stopped doing work
```
---
#### 6. **监控与管理**
- **Admin 界面**:
- **成功任务**:显示所有成功执行的任务,支持按名称、函数或组过滤。
- **失败任务**:显示失败任务,可重新提交失败任务。
- **调度任务**:查看、编辑或删除 scheduled tasks。
- **监控**:支持多集群监控,查看集群状态和任务执行情况。
---
#### 7. **其他特性**
- **结果存储**:支持将任务结果存储在数据库或缓存中。
- **可扩展性**:支持多实例部署和多集群监控。
- **PaaS 兼容性**:支持在多个实例上运行。
---
总结:Django Q 是一个功能强大的任务队列和调度工具,支持多种消息队列和任务类型,适合需要异步任务处理和调度的 Django 项目。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
51 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.3.6