pdf文档 Django Q Documentation Release 1.3.6

453.51 KB 64 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
Django Q是一个原生Django任务队列、调度器和工作应用,使用Python多处理。它支持多种消息队列包括Redis、MongoDB和Django ORM,并提供了失败任务重试和管理员界面。配置选项包括save_limit、guard_cycle、sync和queue_limit。支持的错误报告插件如Rollbar和Sentry,通过Q_CLUSTER设置配置。支持的Python版本为3.7, 3.8, 3.9,Django版本为2.2.x和3.1.x。
AI总结
以下是对《Django Q Documentation Release 1.3.6》文档内容的中文总结,重点突出核心观点和关键信息: --- ### **Django Q 1.3.6 文档总结** #### **简介** Django Q 是一个原生 Django 任务队列、调度器和_worker_应用,使用 Python 多进程实现。它支持异步任务、定时任务、任务链、失败重试和成功存储等功能。 --- ### **主要特性** 1. **核心功能** - 多进程工作池 - 异步任务和定时任务(支持 Cron 表达式) - 任务链、组和结果钩子 - 集成 Django Admin - 支持 Redis、Disque、IronMQ、SQS、MongoDB 和 ORM 等消息队列 - 支持 Rollbar 和 Sentry 错误报告 - 多集群监控 2. **兼容性** - 测试通过 Python 3.7、3.8 和 Django 2.2.x、3.1.x - 支持英文、德文和法文。 --- ### **安装与配置** 1. **安装步骤** - 使用 pip 安装:`$ pip install django-q` - 在 `settings.py` 中添加 `'django_q'` 到 `INSTALLED_APPS` - 运行迁移命令:`$ python manage.py migrate` - 选择并配置消息队列,并安装对应的客户端库 - 启动集群:`$ python manage.py qcluster` 2. **依赖要求** - Python 3.7 或更高版本 - Django 2.2.x 或更高版本 - 其他可选依赖:`redis`、`pymongo`、`boto3` 等。 --- ### **配置选项** Django Q 通过 `settings.py` 中的 `Q_CLUSTER` 配置,支持多种设置,包括: - `workers`:Worker 进程数,默认为 CPU 核数。 - `timeout`:任务超时时间,单位为秒,默认为 60。 - `save_limit`:成功任务的存储上限,默认为 250,设为 -1 表示不存储成功任务,0 表示存储所有成功任务。 - `queue_limit`:单个集群内存中保留的任务数,默认为 `workers**2`。 - `catch_up`:默认为 True,表示在集群恢复时执行所有错过的定时任务。 --- ### **消息队列 (Broker)** Django Q 支持多种 Broker,包括: 1. **Redis** - 配置项:`host`、`port`、`db`、`password` 等,默认为本地 Redis。 2. **MongoDB** - 需要 `pymongo` 客户端,适合小型任务队列。 3. **Django ORM** - 使用 Django 数据库作为消息队列,适合中等流量和定时任务。 - 支持通过 Django Admin 编辑和删除排队中的任务。 4. **自定义 Broker** - 支持自定义 Broker 类,通过 `broker_class` 配置实现。 --- ### **错误报告** Django Q 支持插件式错误报告机制,目前实现了: 1. **Rollbar** 2. **Sentry** 开发者可通过自定义插件扩展错误报告服务,需在 `Q_CLUSTER` 中配置。 --- ### **调度与监控** 1. **定时任务** - 支持 Cron 表达式和重复任务。 - 默认启用 catch-up功能,执行错过的任务。 2. **Admin 页面** - 提供成功任务、失败任务、排队任务的管理界面。 - 支持按名称或组过滤任务。 --- ### **扩展功能** - **任务链 (Chains)**:支持任务的串行或并行执行。 - **结果钩子 (Hooks)**:任务成功或失败后可触发钩子函数。 - **信号 (Signals)**:任务在生命周期中发出信号,可用于扩展功能。 --- ### **总结** Django Q 是一个功能强大且灵活的任务队列系统,适合 Django 项目的异步任务处理和调度需求。它支持多种消息队列和扩展插件,能够通过配置和自定义满足不同场景的需求。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 57 页请下载阅读 -
文档评分
请文明评论,理性发言.