Django Q Documentation
Release 0.7.12
415.46 KB
56 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档详细介绍了Django Q,一个基于Python multiprocessing的原生Django任务队列、调度和工作应用。其功能包括 multiprocessing worker pools、异步任务、定时和重复任务、加密和压缩包、失败和成功数据库或缓存、结果钩子、组和链،以及与Django Admin的集成等。Django Q支持多种消息代理如Redis、Disque、IronMQ、Amazon SQS等,并提供了丰富的配置选项如worker数量、超时设置、任务重试、压缩传输等。监控功能通过Stat对象提供任务队列大小、进程状态等信息。Admin界面则允许用户查看和管理成功任务、失败任务和队列任务。 | ||
AI总结 | ||
# 《Django Q Documentation Release 0.7.12》总结
## 简介
Django Q 是一个基于 Python multiprocessing 的本地 Django 任务队列、调度器和工作应用,支持异步任务、定时任务、群集监控和多种消息代理。
## 特性
- **核心功能**:支持多进程工作池、异步任务、定时和重复任务、加密和压缩包、失败和成功记录、结果钩子、组和链。
- **集成与兼容性**:集成 Django Admin,支持多实例部署、多集群监控,兼容 Redis、Disque、IronMQ、SQS、MongoDB 或 ORM。
- **测试与支持**:测试通过 Python 2.7 & 3.5,Django 1.8.8 & 1.9.1,支持 Rollbar。
## 安装步骤
1. 使用 pip 安装:`pip install django-q`
2. 添加 `django_q` 到 `INSTALLED_APPS`
3. 运行迁移命令:`python manage.py migrate`
4. 选择并配置消息代理,安装相应客户端库。
## 配置
通过 `Q_CLUSTER` 字典在 `settings.py` 中配置,详细选项包括:
- **name**:项目名称,默认 'default'
- **workers**:工人数,默认 CPU 核心数,可自定义
- **recycle**:工人处理任务数后回收,默认 500
- **timeout**:任务超时时间,默认无穷大
- **compress**:压缩任务包,默认 False
- **save_limit**:成功任务保存数量,默认 250,失败任务始终保存
- **sync**:强制同步执行,默认 False
- **queue_limit**:单集群内存任务数,默认 `workers**2`
- **label**:Admin 页面标签,默认 'Django Q'
- **catch_up**:调度补偿,默认 True
## 消息代理
支持的代理及其特点:
- **Redis**:默认代理,atomic,需 redis-py,不支持收据,可使用现有 django_redis 连接。
- **Disque**:支持消息收据,速度优越,支持批量取队。
- **IronMQ**:HTTP 队列服务,支持批量取队,需 Cache 框架监控。
- **SQS**:稳定便捷,最大消息大小 256Kb,支持批量取队。
- **MongoDB/ORM**:灵活,适合开发环境。
## 架构
- **任务签名**:任务在传输前被 pickle 序列化并签名,确保只有授权集群可执行。
- **代理功能**:确保至少一次交付,支持批量处理和任务确认。
## Admin 集成
- **模型管理**:Admin 界面管理三类任务:成功、失败、排队。
- **功能**:支持任务详情查看、删除、搜索和筛选。
通过以上特性和配置,Django Q 提供了高效的任务管理和扩展能力,适用于各种 Django 应用场景。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
49 页请下载阅读 -
文档评分