Django Q Documentation
Release 0.7.11
526.88 KB
72 页
0 下载
110 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Django Q 是一个基于 Django 的任务队列、调度和工作器应用程序,使用 Python 多进程管理任务。文档介绍了其安装、配置、功能以及在不同操作系统上的兼容性问题。主要功能包括多进程任务池、异步任务、任务调度和重复执行、加密和压缩任务包等。文档还详细说明了在 OS X 和 Windows 上的已知问题,并提供了配置示例和使用指南。 | ||
| AI总结 | ||
### Django Q 0.7.11 文档总结
#### 1. 项目简介
Django Q 是一个基于 Django 的任务队列、调度和工作进程应用,使用 Python 的 multiprocessing 模块来管理任务。
#### 2. 主要功能
- ** multiprocessing 工作池**
- **异步任务**
- **计划和重复任务**
- **加密和压缩任务包**
- **失败和成功的数据库或缓存记录**
- **结果钩子、组和链**
- **Django Admin 集成**
- **PaaS 兼容性(多实例)**
- **多集群监控**
- **支持的队列后端**:Redis、Disque、IronMQ、SQS、MongoDB 或 ORM
- **兼容性**:支持 Python 2 和 3,以及 Django 1.7 和 1.8。
#### 3. 安装与配置
- **安装**:使用 pip 安装最新版本:
```bash
$ pip install Django-q
```
- **配置**:在项目 `settings.py` 中添加 `django_q` 到 `INSTALLED_APPS`,并运行 Django 迁移:
```bash
$ python manage.py migrate
```
- **配置参数**:通过 `Q_CLUSTER` 字典在 `settings.py` 中配置,支持以下参数:
- `name`:项目名称,默认为 `default`。
- `workers`:工作进程数,默认为 CPU 核心数。
- `recycle`:每个工人处理的任务数,默认为 500。
- `timeout`:任务超时时间,默认为 60 秒。
- `compress`:是否压缩任务包,默认为 `True`。
- `save_limit`:保存结果的最大数量,默认为 250。
- `queue_limit`:队列的最大任务数,默认为 500。
- `cpu_affinity`:CPU 亲和性,默认为 1。
- `label`:队列标签,默认为 `Django Q`。
- `redis`:Redis 配置参数(如 `host`、`port`、`db`)。
#### 4. 兼容性与问题
- **OS X**:
- multiprocessing.Queue.qsize() 不支持,导致监控无法报告队列大小。
- multiprocessing.cpu_count() 不可用,但可通过 psutil 替代。
- **Windows**:
- multiprocessing 的 fork 不支持,建议设置 `sync=True` 以避免集群。
- os.getppid() 和 multiprocessing.cpu_count() 可能失败,建议安装 psutil。
- Curses 包不支持 Windows,但可通过 Christoph Gohlke 的端口使用。
- **Python**:
- 测试通过 Python 2.7 和 3.5,兼容性可能因版本而异。
#### 5. 使用案例
- **异步任务**:使用 `async()` 和 `fetch()` 执行异步任务。
- **计划任务**:使用 `schedule()` 定时执行任务。
- **邮件发送**:将耗时的邮件发送任务排队处理。
- **模型信号**:在 Django 模型信号中触发异步任务。
#### 6. 多集群与扩展
- 多集群支持:多个集群可以连接到同一队列,前提是它们使用相同的名称、密钥和队列后端。
- 进程管理:建议使用 Circus 或 Supervisor 管理集群,但集群内部已提供健康检查和自动恢复功能。
#### 7. 参考与扩展
- **文档**:更多配置和用法请参考 [Django Q 官方文档](https://github.com/Koed00/django-q)。
- **问题反馈**:如遇兼容性问题,请在 GitHub 提交 issue。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
65 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.4.6