搜索

pdf文档 Django Q Documentation Release 0.8.0

423.43 KB 58 页 0 下载 83 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
Django Q 是一个基于 Django 的任务队列、调度和工人应用程序,使用 Python 多进程。它支持异步任务、计划任务、加密压缩包、失败和成功数据库或缓存、结果钩子、组和链、Django 管理界面、PaaS 兼容性、多集群监控以及多种消息队列。文档介绍了其安装、配置、任务调度、集群管理、监控界面、成功和失败任务管理,以及与 Django 和 Python 版本的兼容性。
AI总结
### Django Q 0.8.0 发布说明总结 Django Q 是一个基于 Django 的任务队列、调度程序和工作进程应用,使用 Python 的 multiprocessing 模块实现。以下是文档的核心内容总结: --- #### 1. **基本功能** - **任务队列**:支持异步任务、定时任务和重复任务。 - **任务管理**:支持任务分组、链式任务(Chains)、结果存储(数据库或缓存)及回调钩子。 - **调度功能**:支持每日(D)、每周(W)、每月(M)、每季度(Q)和每年(Y)的任务调度。 - **扩展性**:支持多种消息队列(Redis、Disque、IronMQ、SQS、MongoDB 或 ORM)及 Rollbar 支持。 --- #### 2. **安装与兼容性** - **安装**:使用 pip 安装最新版本: ```bash $ pip install Django-q ``` - **兼容性**: - Python:支持 Python 2.7 和 Python 3.6。 - Django:支持 Django 1.8.18 LTS、1.10.7 和 1.11。 - 注意:Django 1.7 及以下版本不兼容 Python 3.5,Django 1.11 以下版本在 Python 3.6 上未官方支持。 --- #### 3. **配置** - 配置通过 `Q_CLUSTER` 字典在 `settings.py` 中完成: ```python Q_CLUSTER = { 'name': 'myproject', 'workers': 8, 'recycle': 500, 'timeout': 60, 'compress': True, 'save_limit': 250, 'queue_limit': 500, 'cpu_affinity': 1, 'label': 'Django Q', 'redis': { 'host': '127.0.0.1', 'port': 6379, 'db': 0, }, } ``` - 所有配置选项均为可选。 --- #### 4. **任务调度** - **周期类型**: - **DAILY(D)**:每日执行一次。 - **WEEKLY(W)**:每周执行一次。 - **MONTHLY(M)**:每月执行一次,若遇月末天数不足,任务将在当月最后一天执行。 - **QUARTERLY(Q)**:每季度执行一次。 - **YEARLY(Y)**:每年执行一次,若遇闰年问题,任务将在 2 月 28 日执行。 - **注意事项**:月份和年份调度存在边界问题,需谨慎设置。 --- #### 5. **集群管理** - **启动集群**: ```bash $ python manage.py qcluster ``` 输出示例: ``` 10:57:40 [Q] INFO Q Cluster-31781 starting. 10:57:40 [Q] INFO Process-1:1 ready for work at 31784 ... 10:57:40 [Q] INFO Q Cluster-31781 running. ``` - **停止集群**:使用 `Ctrl+C` 或终止信号(SIGTERM 和 SIGKILL)停止。 输出示例: ``` 16:44:12 [Q] INFO Q Cluster-31781 stopping. 16:44:13 [Q] INFO Process-1 stopped doing work ``` --- #### 6. **监控与管理** - **Admin 界面**: - **成功任务**:显示所有成功执行的任务,支持按名称、函数或组过滤。 - **失败任务**:显示失败任务,可重新提交失败任务。 - **调度任务**:查看、编辑或删除 scheduled tasks。 - **监控**:支持多集群监控,查看集群状态和任务执行情况。 --- #### 7. **其他特性** - **结果存储**:支持将任务结果存储在数据库或缓存中。 - **可扩展性**:支持多实例部署和多集群监控。 - **PaaS 兼容性**:支持在多个实例上运行。 --- 总结:Django Q 是一个功能强大的任务队列和调度工具,支持多种消息队列和任务类型,适合需要异步任务处理和调度的 Django 项目。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 51 页请下载阅读 -
文档评分
请文明评论,理性发言.