Django Q Documentation
Release 0.7.12
527.33 KB
73 页
0 下载
237 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Django Q 是一个基于 Django 的任务队列、调度和工作进程应用,使用 Python 多进程技术。它支持异步任务、计划任务、加密压缩包、结果存储和钩子等功能,并提供多集群监控和多种队列后端支持。文档详细介绍了其安装、配置、兼容性以及在不同操作系统上的使用注意事项,并提供了示例配置和使用场景说明。 | ||
| AI总结 | ||
《Django Q Documentation Release 0.7.12》
### 概述
Django Q 是一个基于 Django 的任务队列、调度和工件应用,使用 Python 的 multiprocessing 模块管理任务。它支持异步任务、计划任务、多进程工作池等功能,并兼容多种消息队列。
### 主要功能
- **任务管理**:支持异步任务、计划任务、重复任务。
- **可靠性**:提供任务结果的数据库或缓存存储,支持失败和成功的任务处理。
- **扩展性**:支持 Redis、Disque、IronMQ、SQS、MongoDB 或 ORM 等多种消息队列。
- **监控与管理**:提供集群监控、结果钩子、任务分组和链式任务。
- **兼容性**:支持 Django 1.8.8 和 1.9.1,Python 2.7 和 3.5。
### 安装与配置
1. **安装**:
```bash
$ pip install Django-q
```
2. **配置**:
- 添加 `django_q` 到 `INSTALLED_APPS`。
- 运行 Django 迁移创建数据库表。
- 配置消息队列并安装相应的客户端库。
### 集群管理
- **启动集群**:
```bash
$ python manage.py qcluster
```
- **停止集群**:使用 `ctrl-c` 或信号(SIGTERM 和 SIGKILL)停止。
- **配置选项**:通过 `Q_CLUSTER` 字典配置集群参数,如 `workers`(默认 CPU 核心数)、`recycle`(任务回收次数,默认 500)、`timeout`(任务超时时间,默认 60 秒)。
### 多集群与兼容性
- **多集群**:多个集群可以连接到同一队列,前提是使用相同的broker、集群名称和SECRET_KEY。
- **操作系统兼容性**:
- **OS X**:不支持 `multiprocessing.Queue.qsize()` 和 `multiprocessing.cpu_count()`,需安装 `psutil`。
- **Windows**:不支持集群的 multiprocessing 模块,但可以通过设置 `sync=True` 使用单线程模式。
### 使用技巧
- **调试**:使用 `async()` 的 `sync=True` 参数进行同步任务调试。
- **连接池**:通过 `get_broker()` 复用连接池以避免连接耗尽。
- **日志与监控**:使用 `blessed` 库提供终端布局监控。
### 兼容性与依赖
- **Python**:支持 Python 2.7 和 3.5,其他版本可能存在兼容性问题。
- **Django**:支持 Django 1.8.8 和 1.9.1,Django 1.7 可能不再被测试。
- **依赖**:Django Q 使用 `django-picklefield`、`arrow` 和 `blessed` 等库。
### 开源与贡献
Django Q 致力于保持与最新版本的 Python 和 Django 的兼容性,并接受社区贡献和问题报告。
总结:Django Q 是一个功能强大的任务队列解决方案,适合需要异步任务处理和集群管理的 Django 项目。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
66 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.7.12