Django Q Documentation
Release 0.7.17
516.85 KB
73 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .epub | 3 |
摘要 | ||
文档介绍了Django Q,一个本地的Django任务队列、调度程序和-worker应用程序,使用Python多处理。其功能包括异步任务、定时和重复任务、加密和压缩包、结果数据库或缓存、结果钩子、组和链、Django Admin集成以及与Redis、Disque、IronMQ、SQS、MongoDB或ORM的兼容。配置通过设置文件中的Q_CLUSTER字典实现,包括name、workers、recycle等选项。安装步骤包括使用pip安装、添加到INSTALLED_APPS、运行迁移并配置消息代理。文档还提供了监控工具,用于查看集群的实时信息,以及Admin界面来管理任务。兼容性方面,Django Q支持Python 2.7和3.5,Django 1.8.12和1.9.5,但不再测试与Django 1.7的兼容性。 | ||
AI总结 | ||
## 总结
### 《Django Q Documentation Release 0.7.17》总结
**概述**
Django Q 是一个基于 Python 多进程的原生 Django 任务队列、调度器和工作应用,支持异步任务、定时任务、失败处理和结果存储,集成 Django Admin,适用于 PaaS 多实例部署,并支持多种消息代理如 Redis、Disque、IronMQ、SQS、MongoDB 和 ORM。
**核心特性**
- 多进程工作池
- 异步任务、定时任务和重复任务
- 加密和压缩的任务包
- 失败与成功记录存储于数据库或缓存
- 结果钩子、任务组和链式调用
- Django Admin 集成
- 多集群监控
- 支持多种消息代理
- Rollbar 支持
**配置**
Django Q 的配置通过 `settings.py` 中的 `Q_CLUSTER` 字典完成,常用配置项包括:
- `name`:用于区分项目,默认值为 `'default'`。
- `workers`:工作进程数,默认为主机 CPU 核数。
- `recycle`:工作者处理任务的数量后重启, 默认为 500。
- `timeout`:工作者超时时间, 默认为 60 秒。
- `redis`:配置 Redis 代理, 包括主机、端口和数据库号。
**安装**
- 使用 pip 安装:`$ pip install django-q`
- 添加 `django_q` 到 `INSTALLED_APPS`
- 运行迁移命令:`$ python manage.py migrate`
- 选择并配置消息代理并安装对应的客户端库。
**系统要求与兼容性**
- Python 2.7 & 3.5
- Django 1.8.12 & 1.9.5
- 兼容性:Django Q 尽量与最新版本的依赖包保持兼容,主要依赖包括 django-picklefield、arrow 和 blessed。
**监控**
- 使用命令 `$ python manage.py qmonitor` 启动监控
- 监控显示集群运行状态(启动中、空闲、运行中、停止中、已停止)及主机信息。
**管理页面**
Django Q 在 Django Admin 中提供三个主要模型:
- **成功任务**:显示成功执行的任务,支持按名称、函数或组筛选,最大保存数量由 `save_limit` 配置。
- **失败任务**:显示因错误未完成的任务,允许将失败任务重新提交队列。
- **Scheduled 任务**:显示定时任务。
**兼容性注意事项**
- Django 1.7.10 或更早版本不支持 Python 3.5。
- 可能与 Django 1.7 运行,但新版本不再对其进行测试。
**其他信息**
- 使用 arrow 库定时、blessed 提供终端布局
- 支持任务加密,无法解密的任务将被丢弃或标记为失败
-worker 进程会定期释放内存资源 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
66 页请下载阅读 -
文档评分