Django Q Documentation
Release 0.7.16
516.76 KB
73 页
0 下载
202 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
文档介绍了Django Q,一个基于Django的多进程任务队列应用,支持异步任务、计划任务、加密传输等功能。文档详细说明了其安装配置、集群管理、监控功能以及在不同操作系统和Python版本下的兼容性。内容涵盖任务队列的基本原理、配置参数、错误处理机制以及与多种消息队列系统的集成。文档还提供了在OS X和Windows环境下的已知问题及解决方案,并强调了对Python 2.7和3.5,以及Django 1.8.11和1.9.4版本的支持。 | ||
| AI总结 | ||
### Django Q 0.7.16 文档总结
#### 概述
Django Q 是一个基于 Django 的任务队列、调度和工作进程应用,使用 Python 的 multiprocessing 模块管理任务处理。其主要功能包括任务队列、调度、结果存储、加密传输等,适用于多种消息队列(如 Redis、SQS 等)。
---
#### 核心功能
1. **任务处理**
- 多进程工作池:通过 multiprocessing 模块管理多个工人进程。
- 异步任务:支持异步任务处理。
- 调度任务:支持计划任务和重复任务,使用 Arrow 库处理时间调度。
- 结果管理:支持将任务结果存储在数据库或缓存中,并提供钩子、分组和链式任务功能。
2. **任务队列**
- 支持多种消息队列:Redis、Disque、IronMQ、SQS、MongoDB 或 Django ORM。
- 任务加密与压缩:确保任务数据的安全性和传输效率。
3. **监控与管理**
- 提供集群监控功能,实时显示集群状态、任务队列大小等信息。
- 支持通过 `manage.py qmonitor` 启动监控界面。
4. **配置与扩展**
- 支持自定义配置,包括工人数量、任务超时、内存回收等参数。
- 提供 Django Admin 集成,便于任务管理和监控。
5. **兼容性**
- 支持 Python 2.7 和 3.5,Django 1.8.11 和 1.9.4。
- 对 OS X 和 Windows 系统有特定兼容性说明,部分功能受限。
---
#### 安装与配置
1. **安装**
- 使用 pip 安装:`pip install Django-q`。
- 将 `django_q` 添加到 Django 项目的 `INSTALLED_APPS` 中。
- 运行 Django 迁移到创建必要的数据库表。
2. **配置**
- 配置 `Q_CLUSTER` 字典,设置参数如 `workers`(默认 CPU 核心数)、`recycle`(任务处理数)、`timeout`(任务超时时间)等。
- 支持 Redis 等消息队列的配置。
---
#### 兼容性与注意事项
- **Python 与 Django 版本**
- Python 2.7 和 3.5,Django 1.8.11 和 1.9.4 已测试。
- Python 3.5 不支持 Django 1.7 及以下版本。
- **OS X**
- multiprocessing.Queue.qsize() 和 CPU 核心数统计不可用,需依赖 psutil。
- **Windows**
- 不支持 multiprocessing,但可通过设置 `sync=True` 以单线程模式运行。
---
#### 集群管理
- **启动与停止**
- 使用 `manage.py qcluster` 启动集群。
- 支持通过 `Ctrl+C` 或信号停止集群,任务处理进程会逐步退出。
- **监控命令**
- 使用 `manage.py qmonitor` 查看集群状态,包括任务队列大小、运行时间等。
---
#### 其他功能
- **日志与统计**
- 提供任务状态、成功与失败统计,支持通过 Django 的缓存框架存储集群统计信息。
- **扩展支持**
- 支持 Rollbar 错误监控,需配置 Rollbar 账户。
---
#### 总结
Django Q 是一个功能全面的任务队列和调度工具,适用于需要异步任务处理和集群管理的 Django 项目。其支持多种消息队列、灵活的配置和跨平台兼容性使其成为 Django 开发者的一个强大选择。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
66 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.7.16