pdf文档 Django Q Documentation Release 0.6.4

376.79 KB 42 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
Django Q 是一个本地 Django 任务队列、调度器和工作应用程序,使用 Python 多处理。它支持多个消息代理,如 Redis、Disque、IronMQ 和 SQS,提供了丰富的功能,包括异步任务、定时和重复任务、加密和压缩、故障和成功数据库、结果钩子和组、Django Admin 集成、多平台兼容以及监控。Django Q 支持 Python 2.7 和 3.4,Django 1.7.10 和 1.8.4。文档详细介绍了安装、配置、架构、监控以及使用的各个方面。
AI总结
《Django Q Documentation Release 0.6.4》总结 本文档主要介绍了Django Q,这是一款支持任务队列、调度和多进程worker功能的Django应用。以下是核心内容的总结: --- ### **1. 功能概述** - **核心功能**: - 提供基于Python多进程的worker池。 - 支持异步任务、定时任务和重复任务。 - 任务执行失败时支持重试机制。 - 提供任务加密和压缩功能。 - 具备任务结果存储、钩子函数和任务分组功能。 - 集成Django Admin,支持多种消息代理(如Redis、Disque、IronMQ、SQS)。 - 支持PaaS环境下的多实例部署。 - 提供多集群监控功能。 -兼容Python 2.7和3.4,测试通过Django 1.7.10和1.8.4版本。 --- ### **2. 安装与配置** - **安装步骤**: 1. 使用pip安装最新版本:`$ pip install django-q`。 2. 在项目的`settings.py`中添加`django_q`到`INSTALLED_APPS`。 3. 运行数据库迁移命令:`$ python manage.py migrate`。 4. 选择并配置消息代理,并安装相应的客户端库。 - **配置**: - 配置通过`settings.py`中的`Q_CLUSTER`字典完成。 - 示例配置: ```python Q_CLUSTER = { 'name': 'myproject', 'workers': 8, # 其他配置... } ``` --- ### **3. 消息代理** Django Q支持以下消息代理: - **Redis**(默认): - 高性能,不依赖Django缓存框架。 - 依赖`redis`客户端库:`$ pip install redis`。 - **Disque**(仍处于Alpha阶段): - 支持消息回执,确保任务分发可靠。 - 需要Django缓存框架配合。 - 支持批量任务接收。 - **IronMQ**: - 基于HTTP的队列服务,支持批量任务接收。 - 需要Django缓存框架配合。 - 依赖`iron-mq`客户端库:`$ pip install iron-mq`。 - **SQS**: - 使用`boto3`客户端库:`$ pip install boto3`。 --- ### **4. 架构** - **任务处理流程**: - 任务在发送到消息代理前,会经 >>> 加密和压缩。 - Pusher进程持续从消息代理中拉取任务,解密后放入任务队列。 - **关键依赖库**: - `django-picklefield`:用于存储任务参数和结果。 - `arrow`:用于任务调度的日期计算。 - `blessed`:提供终端监控布局。 --- ### **5. 监控与管理** - **Django Admin集成**: - 提供三个主要模型: - 成功任务(Success):显示任务执行成功的记录。 - 失败任务(Failure):记录任务执行失败的错误信息,可重新提交失败任务。 - 计划任务(Scheduled):查看、创建、编辑或删除定时任务。 - **监控工具**: - **命令行工具**:`$ python manage.py qinfo`,查看集群统计信息。 - **编程接口**:通过`django_q.monitor.Stat`类获取集群状态。 - **任务重试**: - 支持设置任务重试时间,但重试时间不得低于任务超时时间。 - 防止任务在等待队列中超时。 --- ### **6. 其他注意事项** - **版本兼容性**: - 测试通过Python 2.7和3.4,Django 1.7.10和1.8.4。 - **推荐依赖**: - `psutil`:优化进程 CPU亲和性:`$ pip install psutil`。 - `hiredis`:提升Redis性能:`$ pip install hiredis`。 --- 以上是文档的核心内容总结,涵盖了Django Q的功能、安装、配置、消息代理、架构和监控等方面的关键信息。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 35 页请下载阅读 -
文档评分
请文明评论,理性发言.