Django Q Documentation
Release 1.3.6
512.34 KB
81 页
0 下载
92 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Django Q 是一个为 Django 应用设计的原生任务队列、调度和工人应用程序,基于 Python 的 multiprocessing。它支持多进程工作池、异步任务、计划任务、多种消息队列(如 Redis 和 SQS)以及与 Rollbar 和 Sentry 的集成。文档详细介绍了其安装、配置和使用方法,包括设置 workers 参数、Redis 连接和任务监控。Django Q 适用于需要可靠任务处理和调度的项目。 | ||
| AI总结 | ||
《Django Q 1.3.6 文档》总结:
### 核心功能
- **任务队列与调度**:支持多进程、异步任务、定时任务(基于Cron表达式)、重复任务。
- **结果管理**:支持任务结果存储(数据库或缓存),提供成功与失败任务的处理机制。
- **扩展支持**:兼容多种消息队列(Redis、Disque、IronMQ、SQS、MongoDB、ORM)及PaaS环境。
- **错误监控**:集成Rollbar和Sentry,支持插件扩展。
- **管理界面**:提供Django Admin集成,便于查看任务状态和管理。
### 安装与配置
- **安装**:通过`pip install Django-q`安装,添加到`INSTALLED_APPS`,运行迁移创建数据库表。
- **配置**:通过`Q_CLUSTER`字典配置任务队列,支持以下参数:
- `workers`:设置工作进程数,默认为CPU核心数。
- `recycle`:设置工作进程的回收时间。
- `timeout`:任务执行超时时间。
- `compress`:是否压缩任务数据。
- `save_limit`:限制成功任务的存储数量,默认为250。
- `queue_limit`:单集群内存中的任务队列限制。
- `label`:Admin界面的显示名称。
- `redis`:Redis连接配置(默认本地)。
### 兼容性与限制
- **兼容性**:支持Python 3.7、3.8、3.9,Django 2.2.x、3.1.x、3.2.x。
- **OS X问题**:
- `multiprocessing.Queue.qsize()`不可用,导致监控无法显示队列大小。
- `multiprocessing.cpu_count()`无法正常工作,需安装`psutil`。
### 扩展与插件
- **错误报告**:支持Rollbar和Sentry,提供插件扩展接口。
- **邮件后端**:`Django-q-email`插件支持异步发送邮件。
### 管理界面
- **任务状态**:通过Django Admin查看成功和失败任务,支持筛选和删除操作。
- **信号量**:提供`pre_enqueue`和`pre_execute`信号,允许自定义任务处理逻辑。
### 注意事项
- 任务签名验证:确保任务签名有效,否则将被丢弃或标记为失败。
- **`catch_up`参数**:默认启用任务追赶模式,适合任务调度中断后恢复。
### 总结
Django Q 是一个功能强大的Django原生任务队列解决方案,支持多种消息队列和调度方式,提供灵活的配置和扩展能力,适合需要异步任务处理和任务调度的项目。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
74 页请下载阅读 -
文档评分














Django Q Documentation
Release 1.3.6