搜索

pdf文档 Django Q Documentation Release 0.7.18

418.08 KB 56 页 0 下载 41 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
文档详细介绍了Django Q的安装、配置和使用方法,包括任务处理、集群管理、调度器功能以及与多种消息队列服务的集成。文档还讨论了在不同操作系统上的兼容性问题,并提供了配置示例和使用指南。
AI总结
### Django Q 0.7.18 文档总结 #### 1. 功能概述 Django Q 是一个基于 Django 的任务队列和调度器,支持以下核心功能: - **多进程池**:使用 Python 的 multiprocessing 模块管理多个 worker 进程。 - **异步任务**:支持异步任务处理。 - **任务调度**:支持定时任务和重复任务。 - **结果处理**:支持数据库或缓存存储任务结果。 - **结果钩子**:支持任务结果的钩子函数。 - **Django Admin 集成**:提供任务管理的 admin 页面。 - **多集群监控**:支持多集群的监控功能。 - **多种消息队列**:支持 Redis、Disque、IronMQ、SQS、MongoDB 等消息队列。 - **Rollbar 支持**:集成 Rollbar 用于统一管理任务错误。 #### 2. 安装与配置 - **安装**: ```bash $ pip install Django-q ``` - **配置**: 将 `django_q` 添加到 `INSTALLED_APPS`,并运行 Django 迁移命令: ```bash $ python manage.py migrate ``` - **消息队列配置**: 支持多种消息队列(Redis、Disque、IronMQ、SQS、MongoDB 等),需安装对应客户端库并配置连接参数。 #### 3. 兼容性 - **操作系统**: - **macOS**:不支持 multiprocessing.fork,需使用 `psutil` 替代部分功能。 - **Windows**:不支持 multiprocessing.fork,但可通过设置 `sync=True` 使用单线程模式。 - **Python 版本**:支持 Python 2.7 和 3.5。 - **Django 版本**:支持 Django 1.8.13 和 1.9.7。 #### 4. 任务调度 - **调度频率**: - `HOURLY`:每小时运行一次。 - `DAILY`:每天运行一次。 - `WEEKLY`:每周运行一次。 - `MONTHLY`:每月运行一次(注意月份末尾的处理逻辑)。 - `QUARTERLY`:每季度运行一次。 - `YEARLY`:每年运行一次。 - **注意事项**: - 月份任务:若设置在 31 日,后续月份将运行在当月最后一天。 - 年度任务:若设置在 2 月 29 日,后续年份将运行在 2 月 28 日。 #### 5. 集群管理 - **启动集群**: ```bash $ python manage.py qcluster ``` - **停止集群**: 使用 `ctrl-c` 或 `SIGTERM/SIGKILL` 信号停止。 - **集群属性**: - `workers`:指定 worker 数量,默认为 CPU 核心数。 - `recycle`:指定 worker 处理任务数上限,默认为 500。 - `timeout`:任务超时时间,默认为 60 秒。 #### 6. 示例 - **任务示例**: ```python @task def my_task(): print("Task executed successfully!") ``` - **调度示例**: ```python @task(scheduler=SECONDLY) def my_scheduled_task(): print("Scheduled task executed!") ``` #### 7. 数据库与依赖 - **数据库**:使用 `django_q` 模块存储任务结果,默认使用 Redis 存储监控数据。 - **依赖项**: - **必选**:Django、Django-picklefield、Arrow、Blessed。 - **可选**:Redis-py、Psutil、Hiredis、Boto3、Iron-mq、Pymongo、Pyrollbar。 #### 8. 监控与日志 - **监控工具**:提供基于 curses 的监控界面,支持 Windows 的第三方端口。 - **日志记录**:支持任务执行日志的记录和查看。 #### 9. 其他功能 - **任务分组**:支持任务分组和链式任务。 - **CPU 亲和性**:通过 Psutil 提供 CPU 亲和性设置。 - **加密与压缩**:支持任务数据的加密和压缩传输。 #### 10. 总结 Django Q 是一个功能强大且灵活的任务队列和调度器,支持多种消息队列和任务类型,适合需要异步处理和任务调度的 Django 项目。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 49 页请下载阅读 -
文档评分
请文明评论,理性发言.