epub文档 Django Q Documentation Release 1.3.6

512.34 KB 81 页 0 评论
语言 格式 评分
英语
.epub
3
摘要
文档介绍了Django Q,这是一个原生的Django任务队列、调度器和worker应用,使用Python多处理。其主要功能包括多进程worker池、异步任务、定时/周期任务、压缩和签名的包裹、故障和成功记录、结果钩子、组和链式操作以及与Django Admin的集成。它支持多种消息代理如Redis、Disque、IronMQ、SQS、MongoDB和ORM,并兼容多种PaaS环境和集群监控。Django Q支持多种语言并提供与Rollbar和Sentry的错误报告集成。
AI总结
# 《Django Q Documentation Release 1.3.6》总结 ## 1. 引言 Django Q 是一个功能强大的本地任务队列、调度器和工作器应用,专为 Django 框架设计,利用 Python 的多处理(multiprocessing)技术。它支持异步任务、定时任务、重复任务等功能,并提供与 Redis、Disque、IronMQ、SQS、MongoDB 等多种消息代理的兼容性。 ## 2. 主要功能 - **多处理 worker 池**:支持多 worker 运行,提升任务处理效率。 - **异步任务**:方便快速运行异步操作。 - **定时任务、Cron 表达式和重复任务**:支持灵活的任务调度。 - **任务签名与压缩**:确保任务安全性,防止恶意篡改。 - **任务结果存储**:将任务结果存储至数据库或缓存,便于追踪。 - **结果钩子、任务分组与链式调用**:增强任务处理的灵活性。 - **与 Django Admin 集成**:提供直观的任务管理界面。 - **多实例与多集群支持**:适用于分布式环境,提升系统扩展性。 - **错误报告集成**:支持 Rollbar 和 Sentry 等工具,方便监控和报告任务失败情况。 ## 3. 安装 - **安装方式**: - 使用 pip 安装:`$ pip install django-q` - 添加 'django_q' 到项目的 `INSTALLED_APPS` 中。 - 运行 Django 数据迁移命令:`$ python manage.py migrate` - **环境要求**: - 测试通过的 Python 版本:3.7、3.8 和 3.9。 - 测试通过的 Django 版本:2.2.x 和 3.1.x。 ## 4. 配置 配置通过 `settings.py` 中的 `Q_CLUSTER` 字典完成,配置项如下: ```python Q_CLUSTER = { 'name': 'myproject', # 项目名称,用于区分相同代理的不同项目。 'workers': 8, # 指定 worker 数量, 默认值为宿主机的 CPU 核数。 'recycle': 500, # 指定 worker 处理多少个任务后自动重启。 'timeout': 60, # 工作线程的超时时间(秒)。 'compress': True, # 是否压缩任务数据。 'save_limit': 250, # 成功任务的最大存储数量。 'redis': { # Redis 配置示例 'host': '127.0.0.1', 'port': 6379, 'db': 0, }, } ``` 所有配置项均为可选项,用户可根据需求自定义。 ## 5. 兼容性 - **操作系统**:适用于大多数操作系统,包括 macOS。不过注意,macOS 上 `multiprocessing.Queue.qsize()` 方法不受支持,可能导致监控功能无法显示队列大小。 - **浏览器与设备**:支持多种设备,提供灵活的监控和管理功能。 ## 6. 错误报告 Django Q 提供了一个可扩展的错误报告系统,当前已集成的报告工具包括: - **Rollbar**:需安装 `django-q-rollbar` 包,配置后可将错误自动报告至Rollbar平台。 - **Sentry**:需安装 `django-q-sentry` 包,提供 Sentry 错误报告功能,方便集中监控和处理故障。 ## 7. 电子邮件集成 Django Q 提供了一个邮件后端(通过 `django-q-email` 包),可以轻松实现异步发送邮件功能,提升邮件发送效率。 ## 8. Admin 界面 通过 Django Admin 提供任务管理功能,界面简洁,功能包括: - **成功任务**:展示所有成功执行的任务,支持按名称、函数名、组 ID 筛选,最大存储数由 `save_limit` 配置。 - **失败任务**:列出所有因错误未完成的任务,可通过管理菜单重新提交失败任务。 - **任务监控**:提供运行中的任务监控,支持实时查看任务状态。 通过以上功能,Django Q 在提升任务处理效率的同时,也为开发者提供了强大的任务监控与管理工具,适用于各种需要异步任务处理的场景。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 74 页请下载阅读 -
文档评分
请文明评论,理性发言.