Django Q Documentation
Release 0.9.0
427.01 KB
58 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
Django Q 是一个基于 Python 多进程的原生 Django 任务队列、调度器和 worker 应用程序。其特性包括多进程 worker 池、异步任务处理、定时和重复任务、加密和压缩的任务包、失败和成功的数据库或缓存记录、结果钩子、组和链式任务、Django Admin 集成、多实例 PaaS 兼容性以及多集群监控等。支持 Redis、Disque、IronMQ、SQS 和 MongoDB 等多种消息队列。Django Q 同时兼容多种 Python 和 Django 版本,适用于任务的异步处理和集群管理。 | ||
AI总结 | ||
以下是对《Django Q Documentation Release 0.9.0》的中文总结,突出核心观点和关键信息:
---
# 《Django Q Documentation Release 0.9.0》总结
## 1. 项目概述
Django Q 是一个本地 Django 任务队列、调度器和工作器应用,使用 Python 多处理技术。它支持多种消息代理(如 Redis、Disque、IronMQ、SQS、MongoDB 等)和多种存储后端,适用于 Django 1.8.18 LTS、1.11.9 和 2.0 版本,兼容 Python 2.7 和 3.6。
## 2. 核心功能
- **任务队列**:支持异步任务、定时任务和重复任务。
- **结果处理**:提供任务结果的存储和缓存功能,支持失败任务的重试。
- **监控与管理**:通过 Django 管理界面监控任务状态,支持多集群监控。
- **扩展性**:支持多种消息代理和存储后端,适合 PaaS 环境,支持负载均衡和故障恢复。
- **集成功能**:集成 Django 的缓存框架,支持 Sentry 和 Rollbar 错误报告。
## 3. 安装与配置
- **安装**:通过 pip 安装最新版本 `$ pip install django-q`,并在 `settings.py` 中添加 `django_q` 到 `INSTALLED_APPS`。
- **配置**:
- 支持多种消息代理(如 Redis、MongoDB 等),每种代理有特定的配置要求。
- 关键配置选项包括 `guard_cycle`、`sync`、`queue_limit`、`catch_up` 等,用于控制任务执行、同步模式、内存限制和任务重试行为。
## 4. 任务与异步执行
- **异步任务**:通过 `async()` 函数快速将任务异步执行,支持结果 hook。
- 示例:`async('math.copysign', 2, -2)` 或 `async(django.core.mail.send_mail, ...)`。
- **结果处理**:通过 `result()` 获取任务结果,支持等待任务完成。
- 示例:`task_result = result(task_id, 200)`。
## 5. 调度
- **定时任务**:通过 `schedule()` 函数创建定时任务,支持重复执行。
- 示例:`schedule('django_q.tasks hugged', schedule_type='H', days=1)`。
- **调度机制**:每分钟检查一次定时任务,创建任务实例并更新下次运行时间。
## 6. 监控与管理
- **集群监控**:提供 `Stat` 类查询任务队列、结果队列、进程状态等信息。
- 方法包括 `empty_queues()`、`get()`、`get_all()` 等。
- **Django 管理界面**:通过默认的 model admin 界面管理成功任务、失败任务和任务日志。
- 支持筛选、搜索和删除任务记录。
## 7. 消息代理与存储
- **支持的消息代理**:
- **Redis**:支持批量任务获取,需安装 `redis` 包。
- **Disque**:适用于 Heroku,需安装 `redis` 包。
- **IronMQ**:HTTP 基础的队列服务,需安装 `iron-mq` 包。
- **Amazon SQS**:稳定且经济实惠,需安装 `boto3` 包。
- **MongoDB**:高扩展性,支持批量操作,需安装 `pymongo` 包。
- **存储后端**:支持 ORM 和 Cache 框架。
## 8. 停止与清理
- **停止集群**:通过信号控制停止任务推送和清理队列,确保任务和结果处理完成。
- **警告**:强制终止集群可能导致任务丢失,需谨慎操作。
---
该总结涵盖了 Django Q 的核心功能、安装配置、任务异步执行、调度、监控和消息代理的关键信息,语言简洁明了,重点突出。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
51 页请下载阅读 -
文档评分