pdf文档 Django Q Documentation Release 0.7.17

416.84 KB 56 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
Django Q Documentation, Release 0.7.16 是一个适用于Django的任务队列,支持异步任务、定时任务和重复任务,同时具备多种消息代理(broker)如Redis、Disque、IronMQ、SQS和MongoDB等。文档涵盖了安装步骤、配置选项、任务处理机制以及监控功能。Django Q支持任务加密、失败重试、结果存储,以及通过Django Admin查看和管理任务。其架构确保了任务的高效处理和系统的可靠性,适用于多种部署环境。
AI总结
以下是对《Django Q Documentation Release 0.7.16》的总结,按照文档结构和内容层次进行梳理,重点突出核心观点和关键信息: --- ### **Django Q 0.7.16 文档总结** #### **1. 功能特点** Django Q 是一个用于异步任务、定时任务和集群管理的 Django 工具,支持多种消息 broker,适用于分布式任务处理。主要功能包括: - 多进程工作池(Worker pools) - 异步任务和定时任务 - 加密和压缩的任务包 - 任务失败和成功的存储(数据库或缓存) - 任务结果钩子、分组和链式调用 - Django Admin 集成 - 多种消息 broker 支持(Redis、Disque、IronMQ、SQS、MongoDB、Django ORM 等) - 多集群监控和 PaaS 兼容性 --- #### **2. 安装** - 使用 pip 安装最新版本:`pip install django-q` - 将 `django_q` 添加到 `INSTALLED_APPS` 中 - 运行迁移命令:`python manage.py migrate` - 选择并配置消息 broker,并安装对应的客户端库。 --- #### **3. 配置** 配置通过 `Q_CLUSTER` 字典在 `settings.py` 中完成,所有配置项均为可选。 - 示例配置: ```python Q_CLUSTER = { 'name': 'myproject', 'workers': 8, 'timeout': 60, 'retry': 60, 'compress': True, 'save_limit': 250, 'queue_limit': 500, 'redis': { 'host': '127.0.0.1', 'port': 6379, 'db': 0, } } ``` - 常用配置项: - `name`:用于区分项目,默认为 `'default'`。 - `workers`:集群的工作进程数,默认为主机的 CPU 核心数。 - `timeout`:任务执行超时时间,单位为秒,默认无超时。 - `retry`:消息 broker 等待任务完成的时间,默认为 60 秒。 - `compress`:是否压缩任务包,默认 `False`。 - `save_limit`:成功任务的存储上限,默认 250,设置为 0 表示无限制。 - `queue_limit`:单集群在内存中保留的任务数量,默认为 `workers**2`。 --- #### **4. 功能详解** - **任务安全性**:任务通过 Django 的 `django.core.signing` 模块加密,确保只有授权节点可以读取和执行任务。 - **结果存储**:失败任务始终存储,成功任务根据 `save_limit` 配置存储。 - **定时任务**:支持定时和重复任务,已错过的任务默认可catch up。 - **队列管理**:支持多种 broker,确保至少一次投递(at-least-once delivery)。 --- #### **5. 支持的消息 broker** - **Redis**:推荐$objection { host, port, db }。 - **Disque**:支持 Heroku 的 Tynd Disque addon。 - **IronMQ**:HTTP 기반队列服务,支持批量操作。 - **Amazon SQS**:稳定且便捷,适合 AWS 用户。 - **MongoDB**:高扩展性,适合高流量场景。 - **Django ORM**:直接使用 Django 数据库,适合中等规模的任务队列。 --- #### **6. 监控与管理** - 提供集群状态监控,包括任务队列、结果队列、工作进程等。 - 通过 Django Admin 提供任务管理界面,便于查看成功和失败的任务。 --- #### **7. 兼容性** - 测试通过的 Python 版本:2.7 & 3.5。 - 测试通过的 Django 版本:1.8.12 & 1.9.5,可能与 1.7 仍然兼容但不再测试。 --- Django Q 旨在提供灵活、安全、高效的异步任务和集群管理功能,适合分布式系统和高并发场景。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 49 页请下载阅读 -
文档评分
请文明评论,理性发言.