搜索

epub文档 Django Q Documentation Release 0.6.4

512.86 KB 53 页 0 下载 105 浏览 0 评论 0 收藏
语言 格式 评分
英语
.epub
3
摘要
Django Q 是一个基于 Django 的任务队列、调度程序和工作器应用程序,使用 Python 多进程技术。它支持异步任务、计划任务、加密压缩包、失败和成功数据库等功能,并兼容多种队列系统如 Redis、Disque、IronMQ 和 SQS。文档详细介绍了其安装、配置、集群管理以及使用示例,如邮件发送和信号处理。
AI总结
### Django Q 0.6.4 文档总结 #### 概述 Django Q 是一个基于 Django 的任务队列、调度和工作器应用,使用 Python 的 multiprocessing 模块管理任务。它支持异步任务、计划任务、结果存储等功能,并兼容多种消息队列(如 Redis、Disque、IronMQ 和 SQS)。 --- #### 主要功能 1. **任务管理**: - 多进程工作池 - 异步任务 - 计划任务(支持一次性、重复性任务) - 任务结果存储(成功/失败) 2. **任务存储与加密**: - 任务以加密和压缩包形式存储 - 支持结果数据库记录 3. **扩展与集成**: - 多集群监控 - PaaS 兼容性(支持多实例) - Django Admin 集成 - 支持多种消息队列(Redis、Disque、IronMQ、SQS) 4. **配置与控制**: - 灵活的配置选项(如 worker 数量、超时、重试次数等) - 任务分组与钩子函数 5. **兼容性**: - 支持 Python 2.7 和 3.4 - 兼容 Django 1.7.10 和 1.8.4 --- #### 安装与配置 1. **安装**: - 使用 pip 安装:`pip install Django-q` - 将 `django_q` 添加到 `INSTALLED_APPS` - 运行 Django 迁移:`python manage.py migrate` 2. **配置**: - 配置消息队列(如 Redis、Disque 等) - 配置任务队列参数(如 `workers`、`timeout`、`retry` 等) --- #### 核心配置选项 - **`workers`**:指定集群中的 worker 数量。 - **`timeout`**:任务执行超时时间(默认 90 秒)。 - **`retry`**:任务失败后重试次数。 - **`compress`**:是否压缩任务数据。 - **`save_limit`**:成功任务的最大保存数量。 - **`sync`**:是否同步执行任务(主要用于调试)。 - **`queue_limit`**:队列中的最大任务数。 --- #### 集群管理 - **启动集群**:使用 `manage.py qcluster` 命令启动。 ```bash $ python manage.py qcluster ``` - **停止集群**:通过 `ctrl-c` 或信号(`SIGTERM`、`SIGKILL`)停止。 - **配置参数**:通过 `Q_CLUSTER` 设置集群行为,如 worker 数量、超时时间等。 --- #### 多集群 - 支持在多台机器上运行多个集群,前提是使用相同的队列。 - 配置多个消息队列以实现负载均衡。 --- #### 任务监控与管理 - **Django Admin**: - 成功任务:显示所有成功执行的任务,支持按组过滤。 - 失败任务:显示失败任务,支持重试。 - 计划任务:显示所有计划任务,支持手动触发。 - **任务钩子**: - 任务完成后调用钩子函数(如发送邮件)。 --- #### 信号处理 - 支持通过 Django 模型信号触发异步任务,避免阻塞主进程。 --- #### 任务示例 1. **异步任务**: ```python from django_q import async async('django.core.mail.send_mail', 'Welcome', 'msg', 'from@example.com', [user.email]) ``` 2. **计划任务**: ```python from django_q import schedule schedule('django.core.mail.send_mail', 'Follow up', 'msg', 'from@example.com', [user.email], schedule_type=Schedule.ONCE, next_run=timezone.now() + timedelta(hours=1)) ``` --- #### 注意事项 - 任务结果加密使用 Django 的 `SECRET_KEY`,需确保配置正确。 - 日期处理需注意闰年问题(如 February 29th 会自动调整为 February 28th)。 --- #### 支持的消息队列 - **Redis**:推荐使用 `Django-redis` 连接池。 - **Disque**:支持多个节点和认证。 - **IronMQ** 和 **SQS**:提供额外的队列选项。 --- #### 兼容性 - **Python**:2.7 和 3.4。 - **Django**:1.7.10 和 1.8.4。 --- 以上为《Django Q Documentation Release 0.6.4》的核心内容总结。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 46 页请下载阅读 -
文档评分
请文明评论,理性发言.