Django Q Documentation
Release 0.4.6
203.66 KB
42 页
0 下载
154 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Django Q is a native Django task queue and worker application that uses Python multiprocessing to manage a pool of workers for handling tasks. It supports asynchronous tasks, scheduled and repeated tasks, encrypted and compressed packages, and integrates with Django Admin. The application uses Redis as a broker and is compatible with multiple instances and clusters. Key features include task grouping, result hooks, failure and success tracking, and compatibility with Python 2 and 3 as well as Django 1.7.9 and 1.8.3. The cluster can be started using Django’s manage.py command and configured via settings.py for parameters like workers, timeout, and CPU affinity. | ||
| AI总结 | ||
# Django Q 0.4.6 发布说明
## 概述
Django Q 是一个基于 Django 的任务队列和工作器应用程序,使用 Python 的 multiprocessing 模块管理任务池,支持异步任务、计划任务、重复任务等功能。
## 主要功能
- **多进程任务池**:通过 multiprocessing 模块管理多个 worker 进程。
- **异步任务**:支持异步任务执行。
- **计划和重复任务**:支持定时和重复任务。
- **加密和压缩**:任务包加密和压缩以确保安全。
- **结果存储**:记录任务执行结果(成功或失败)。
- **结果钩子和分组**:支持任务执行后的钩子函数和任务分组。
- **Django Admin 集成**:通过 Django 的 admin 界面管理任务。
- **多实例支持**:支持 PaaS 环境。
- **多集群监控**:支持多个集群的监控。
- **Redis 代理**:使用 Redis 作为任务队列的中心枢纽。
- **兼容性**:支持 Python 2 和 3,以及 Django 1.7.9 和 1.8.3。
## 安装与配置
- **安装**:使用 pip 安装最新版本:`pip install Django-q`。
- **配置**:在 Django 项目的 settings.py 中添加 `Q_CLUSTER` 配置,设置 worker 数量、超时时间、任务保存限制等参数。
## 任务管理
- **异步任务**:使用 `async()` 函数将任务加入队列,支持自定义超时、保存设置、同步模式等。
- **任务分组**:通过组标识符对任务进行分组。
- **结果获取**:通过 `result()` 函数获取任务执行结果。
- **计划任务**:支持通过 `Schedule` 类定义计划任务,包括定期执行和重复执行。
## 监控与管理
- **Django Admin 界面**:提供成功任务、失败任务和计划任务的管理界面。
- **成功任务**:展示所有成功执行的任务,支持按名称、函数和组分组搜索。
- **失败任务**:展示执行失败的任务,支持重新提交失败任务。
- **计划任务**:管理计划任务的创建、编辑和删除,支持设置重复次数。
## 多集群
- **多集群支持**:多个集群可以连接到同一个 Redis 服务器,使用相同的集群名称和 SECRET_KEY。
- **使用场景**:适用于任务分担和故障容错。
## 进程管理
- **启动集群**:使用 `manage.py qcluster` 命令启动集群。
- **停止集群**:通过 `Ctrl-C` 或信号(SIGTERM 和 SIGKILL)停止集群。
- **进程管理器**:支持使用 Supervisor 或 Circus 管理集群,但不建议在相同环境中运行多个集群实例。
## 连接池与优化
- **Redis 连接池**:通过 `redis_client` 重用 Redis 连接,避免连接耗尽。
- **Django-Redis 集成**:支持使用 Django-Redis 的连接池优化任务处理。
## 依赖项
- **Django-picklefield**:用于存储任务参数和结果。
- **Redis-py**:Redis Python 客户端。
- **Arrow**:用于时间计算。
- **Blessed**:用于终端布局。
- **Psutil(可选)**:优化 CPU 亲和性设置。
- **Hiredis(可选)**:提高高负载下的解析性能。
## 兼容性
- **Python**:支持 Python 2.7 和 3.4。
- **Django**:支持 Django 1.7.9 和 1.8.3。
## 总结
Django Q 是一个功能强大的任务队列解决方案,支持异步任务、计划任务、多集群和 Redis 集成,适用于需要高效任务管理的 Django 项目。通过简单的配置和 Django Admin 界面,用户可以方便地管理和监控任务执行情况。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
35 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.4.6