搜索

pdf文档 Django Q Documentation Release 0.4.6

249.57 KB 36 页 0 下载 270 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
Django Q 是一个基于 Django 的任务队列和调度应用,使用 Python 的 multiprocessing 模块管理任务处理池。文档详细介绍了其安装、任务处理、调度安排、集群管理、监控功能以及与 Django admin 的集成。主要功能包括 multiprocessing worker pool、异步任务、scheduled 和 repeated tasks、加密压缩包、失败与成功数据库、结果钩子和组、Django Admin 集成、PaaS 兼容性、多集群监控和 Redis 代理。文档还提供了安装步骤、配置说明和使用示例。
AI总结
# Django Q 0.4.6 文档总结 ## 核心功能 - **任务队列**:基于 Python 的多进程池,支持异步任务。 - **调度与重复任务**:支持一次性、每小时、每天、每周、每月、每季度和每年的计划任务。 - **监控与管理**:提供任务的成功与失败数据库、结果钩子、任务组管理及 Django Admin 集成。 - **扩展性**:支持 Redis 代理、多实例 PaaS、多集群监控及多种任务分组处理。 - **兼容性**:支持 Python 2.7 & 3.4 和 Django 1.7.9 & 1.8.3。 ## 安装步骤 1. 使用 pip 安装最新版本: ```bash $ pip install Django-q ``` 2. 将 `django_q` 添加到项目 `settings.py` 的 `INSTALLED_APPS`: ```python INSTALLED_APPS = ( # 其他应用 'django_q', ) ``` 3. 运行 Django 迁移以创建数据库表: ```bash $ python manage.py migrate ``` 4. 确保 Redis 服务器已运行并配置好连接。 ## 任务与调度 - **任务属性**:支持 `args`、`kwargs`、`func` 等参数。 - **调度频率**: - `ONCE`:仅运行一次,可设置重复次数保留结果。 - `HOURLY`:每小时运行一次。 - `DAILY`:每天运行一次。 - `WEEKLY`:每周运行一次。 - `MONTHLY`:每月运行一次,注意月份天数问题。 - `QUARTERLY`:每季度运行一次。 - `YEARLY`:每年运行一次,注意闰年问题。 ## 集群管理 - 使用 `multiprocessing` 模块管理工人进程。 - 启动命令: ```bash $ python manage.py qcluster ``` - 停止方式:支持 `ctrl-c`、`SIGTERM` 和 `SIGKILL` 信号。 ## 监控与状态 - **Stat 类**:提供集群状态信息,如任务队列大小、进程 ID 等。 - **方法**:`get()` 和 `get_all()` 用于获取集群状态,`empty_queues()` 用于检查队列是否为空。 ## 管理页面 - 使用 Django 默认的模型管理界面: 1. **成功任务**:展示所有成功执行的任务,支持按名称、函数和组筛选。 2. **失败任务**:显示失败任务详情,支持重新提交任务。 3. **计划任务**:管理计划任务的创建、编辑和删除。 ## 示例 - **Haystack 索引**:通过信号处理实时更新索引。 - **任务分组**:使用 `result_group` 和 `count_group` 处理概率密度函数的分组任务。 ## 总结 Django Q 是一个功能强大的任务队列工具,支持异步任务、计划任务、集群管理和监控,适用于需要高效处理后台任务的 Django 项目。其与 Redis 的集成和 Django Admin 的无缝对接,使其成为开发者的理想选择。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 29 页请下载阅读 -
文档评分
请文明评论,理性发言.