Django Q Documentation
Release 0.7.18
418.08 KB
56 页
0 下载
41 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档详细介绍了Django Q的安装、配置和使用方法,包括任务处理、集群管理、调度器功能以及与多种消息队列服务的集成。文档还讨论了在不同操作系统上的兼容性问题,并提供了配置示例和使用指南。 | ||
| AI总结 | ||
### Django Q 0.7.18 文档总结
#### 1. 功能概述
Django Q 是一个基于 Django 的任务队列和调度器,支持以下核心功能:
- **多进程池**:使用 Python 的 multiprocessing 模块管理多个 worker 进程。
- **异步任务**:支持异步任务处理。
- **任务调度**:支持定时任务和重复任务。
- **结果处理**:支持数据库或缓存存储任务结果。
- **结果钩子**:支持任务结果的钩子函数。
- **Django Admin 集成**:提供任务管理的 admin 页面。
- **多集群监控**:支持多集群的监控功能。
- **多种消息队列**:支持 Redis、Disque、IronMQ、SQS、MongoDB 等消息队列。
- **Rollbar 支持**:集成 Rollbar 用于统一管理任务错误。
#### 2. 安装与配置
- **安装**:
```bash
$ pip install Django-q
```
- **配置**:
将 `django_q` 添加到 `INSTALLED_APPS`,并运行 Django 迁移命令:
```bash
$ python manage.py migrate
```
- **消息队列配置**:
支持多种消息队列(Redis、Disque、IronMQ、SQS、MongoDB 等),需安装对应客户端库并配置连接参数。
#### 3. 兼容性
- **操作系统**:
- **macOS**:不支持 multiprocessing.fork,需使用 `psutil` 替代部分功能。
- **Windows**:不支持 multiprocessing.fork,但可通过设置 `sync=True` 使用单线程模式。
- **Python 版本**:支持 Python 2.7 和 3.5。
- **Django 版本**:支持 Django 1.8.13 和 1.9.7。
#### 4. 任务调度
- **调度频率**:
- `HOURLY`:每小时运行一次。
- `DAILY`:每天运行一次。
- `WEEKLY`:每周运行一次。
- `MONTHLY`:每月运行一次(注意月份末尾的处理逻辑)。
- `QUARTERLY`:每季度运行一次。
- `YEARLY`:每年运行一次。
- **注意事项**:
- 月份任务:若设置在 31 日,后续月份将运行在当月最后一天。
- 年度任务:若设置在 2 月 29 日,后续年份将运行在 2 月 28 日。
#### 5. 集群管理
- **启动集群**:
```bash
$ python manage.py qcluster
```
- **停止集群**:
使用 `ctrl-c` 或 `SIGTERM/SIGKILL` 信号停止。
- **集群属性**:
- `workers`:指定 worker 数量,默认为 CPU 核心数。
- `recycle`:指定 worker 处理任务数上限,默认为 500。
- `timeout`:任务超时时间,默认为 60 秒。
#### 6. 示例
- **任务示例**:
```python
@task
def my_task():
print("Task executed successfully!")
```
- **调度示例**:
```python
@task(scheduler=SECONDLY)
def my_scheduled_task():
print("Scheduled task executed!")
```
#### 7. 数据库与依赖
- **数据库**:使用 `django_q` 模块存储任务结果,默认使用 Redis 存储监控数据。
- **依赖项**:
- **必选**:Django、Django-picklefield、Arrow、Blessed。
- **可选**:Redis-py、Psutil、Hiredis、Boto3、Iron-mq、Pymongo、Pyrollbar。
#### 8. 监控与日志
- **监控工具**:提供基于 curses 的监控界面,支持 Windows 的第三方端口。
- **日志记录**:支持任务执行日志的记录和查看。
#### 9. 其他功能
- **任务分组**:支持任务分组和链式任务。
- **CPU 亲和性**:通过 Psutil 提供 CPU 亲和性设置。
- **加密与压缩**:支持任务数据的加密和压缩传输。
#### 10. 总结
Django Q 是一个功能强大且灵活的任务队列和调度器,支持多种消息队列和任务类型,适合需要异步处理和任务调度的 Django 项目。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
49 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.3.6