Django Q Documentation
Release 0.9.0
507.64 KB
75 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .epub | 3 |
摘要 | ||
文档介绍了Django Q,一个本地Django任务队列、调度器和工作应用,使用Python多进程。其功能包括异步任务、定时和重复任务、结果处理、错误报告及多种消息Broker支持。需要通过settings.py配置,包括工作者数量、超时设置、 Broker连接等。支持Rollbar和Sentry等错误报告插件。-installation步骤包括安装包、添加到Django应用、数据库迁移和配置Broker。文档还介绍了Django Q支持的Python和Django版本,并提供了错误处理和任务管理的详细信息。 | ||
AI总结 | ||
《Django Q Documentation Release 0.9.0》文档总结:
### 1. 项目概述
Django Q 是一个原生 Django 任务队列、调度器和工作器应用,使用 Python 多进程实现。其主要功能包括:
- 支持多进程工作者池
- 异步任务、定时任务和重复任务
- 加密和压缩数据包
- 处理任务失败和成功,并支持将结果保存到数据库或缓存
- 提供钩子、组和链式调用
- 集成 Django Admin
- 兼容多实例和集群监控
- 支持 Redis、Disque、IronMQ、SQS、MongoDB 或 ORM 等多种消息代理
- 集成 Rollbar 和 Sentry 错误报告
### 2. 配置
Django Q 通过 `settings.py` 中的 `Q_CLUSTER` 字典进行配置,常见配置项包括:
- `name`:用于区分项目,,默认为 `'default'`。
- `workers`:工作者数量,默认为宿主机 CPU 核心数。
- `daemonize_workers`:设置工作者是否为后台进程,,默认为 `True`。
- `timeout`:任务超时时间(单位:秒)。
- `compress`:是否启用数据压缩,,默认为 `True`。
- `save_limit`:成功任务的最大保存数量。
- `queue_limit`:队列的最大任务数。
- `redis`:Redis 配置,包括主机、端口和数据库。
### 3. 安装
- 使用 pip 安装最新版本:`pip install django-q`
- 在 `INSTALLED_APPS` 中添加 `django_q`
- 运行迁移命令:`python manage.py migrate`
- 选择并配置消息代理,安装相应的客户端库
- 启动 Django Q 集群:`python manage.py qcluster`
### 4. 兼容性
Django Q 测试通过的版本包括:
- Python 2.7 和 3.6
- Django 1.8.18 LTS、1.11.9 和 2.0
- 部分功能可能与 Django 1.7、1.9 和 1.10 兼容,但不再正式测试。
### 5. 依赖
- `django-picklefield`:用于在数据库中存储任务参数和结果。
- `arrow`:用于调度任务的时间计算。
- `blessed`:用于终端布局和监控。
### 6. 错误报告
Django Q 支持插件式错误报告,当前实现了 Rollbar 和 Sentry 的集成。开发者可以通过 `Q_CLUSTER` 配置字典_passaddError_reporter_插件。
### 7. 管理界面
Django Q 提供以下三种模型的 Admin 界面:
- **成功任务**:显示所有成功执行的任务,支持通过名称、函数和组筛选,使用 `Success` 代理模型。
- **失败任务**:显示因错误未完成的任务,支持重新提交失败任务,使用 `Failure` 代理模型。
- **定时任务**:管理已安排的任务,可以通过名称、函数和组筛选。
### 8. 其他功能
- 支持任务组和链式调用
- 提供任务状态监控和统计
- 支持任务结果的保存和查询
- 允许通过 `$ guard_cycle` 配置任务保护机制
- 支持通过 `cpu_affinity` 配置 CPU 树状调度
### 总结
Django Q 是一个功能强大且灵活的任务队列和调度系统,能够与 Django 无缝集成,支持多种消息代理和错误报告工具,适合构建高并发和异步任务处理的应用场景。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
68 页请下载阅读 -
文档评分