Django Q Documentation
Release 0.7.15
528.16 KB
73 页
0 下载
139 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Django Q是一个基于Django的任务队列、调度和工作进程应用,使用Python多进程技术。文档介绍了其功能,包括异步任务、计划任务、加密压缩包等,并提供了安装、配置和兼容性信息。支持的消息代理包括Redis、Disque、IronMQ等。文档还详细说明了在OS X和Windows上的已知问题及解决方案,并提供了配置参数如workers、timeout等的设置示例。 | ||
| AI总结 | ||
### Django Q 0.7.15 文档总结
#### 1. 简介
Django Q 是一个基于 Django 的任务队列、调度和工作进程应用,使用 Python 多进程技术。它支持异步任务、计划任务、加密压缩包、结果存储等功能,并与 Django 行政界面集成。
#### 2. 核心功能
- **任务队列**:支持 multiprocessing worker pools 和异步任务。
- **调度与重复任务**:提供计划和重复执行任务的功能。
- **数据安全**:任务包加密和压缩。
- **结果存储**:支持数据库或缓存存储任务结果。
- **依赖管理**:支持任务钩子、组和链。
- **监控与管理**:提供多集群监控和 Django Admin 集成。
- **消息队列支持**:兼容 Redis、Disque、IronMQ、SQS、MongoDB 等多种队列。
- **错误处理**:支持 Rollbar 集成,便于集中管理任务错误。
#### 3. 安装与配置
- **安装**:使用 pip 安装:
```bash
$ pip install Django-q
```
- **配置**:在 Django 项目中添加 `django_q` 到 `INSTALLED_APPS`,并运行数据库迁移:
```bash
$ python manage.py migrate
```
- **配置参数**:通过 `Q_CLUSTER` 字典配置任务队列,包括以下关键参数:
- `workers`:指定 worker 进程数量,默认为 CPU 核心数。
- `recycle`:指定每个 worker 处理任务数上限,默认为 500。
- `timeout`:任务执行超时时间,默认为 60 秒。
- `compress`:是否压缩任务包,默认为 True。
- `queue_limit`:队列任务数量上限,默认为 500。
- `redis`:配置 Redis 连接参数,如 `host`、`port`、`db` 等。
#### 4. 兼容性
- **Python 版本**:支持 Python 2.7 和 3.5。
- **Django 版本**:兼容 Django 1.8.8 和 1.9.1,部分功能可能支持 Django 1.7。
- **操作系统**:
- **OS X**:已知问题包括 `multiprocessing.Queue.qsize()` 和 CPU 核心数获取不支持,可通过安装 `psutil` 解决。
- **Windows**:不支持 multiprocessing fork,可通过设置 `sync=True` 使用单线程模式。
#### 5. 任务处理与监控
- **任务类型**:支持普通任务、计划任务、重复任务、组任务等。
- **结果存储**:
- 成功任务:存储在 `Success` 代理模型中,默认最多保存 `save_limit` 条记录。
- 失败任务:存储在 `Failure` 代理模型中,可通过 Django Admin 重试失败任务。
- **监控界面**:Django Q 提供默认的 Django Admin 页面,显示成功、失败和计划任务的详细信息。
#### 6. 消息队列支持
- **Redis**:支持 Redis 队列,通过 `django_redis` 配置。
- **Disque**:支持 Disque 集群,可配置多个节点地址。
- **IronMQ**:支持 IronMQ 服务,提供可靠的任务传输。
- **SQS 和 MongoDB**:支持通过相应客户端库集成。
#### 7. 开发与测试
- **依赖管理**:Django Q 使用 `arrow` 和 `blessed` 等第三方库,确保版本兼容性。
- **测试**:代码经过严格测试,支持 Python 2 和 3 的最新版本。
#### 8. 注意事项
- **任务加密**:所有任务包均使用 Django 的 `SECRET_KEY` 加密,防止任务混用。
- **CPU 核心数**:在 OS X 和 Windows 上,CPU 核心数获取可能受限,建议安装 `psutil` 作为替代方案。
#### 9. 总结
Django Q 是一个功能丰富、易于集成的任务队列解决方案,适用于 Django 项目的异步任务处理和调度。其多进程架构、灵活的配置选项和对多种消息队列的支持,使其成为开发者的强大工具。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
66 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.7.9