Django Q Documentation
Release 1.3.6
                
  
              453.51 KB
             
              64 页
               
              0 评论
              
| 语言 | 格式 | 评分 | 
|---|---|---|
英语  | .pdf  | 3  | 
| 摘要 | ||
Django Q是一个原生Django任务队列、调度器和工作应用,使用Python多处理。它支持多种消息队列包括Redis、MongoDB和Django ORM,并提供了失败任务重试和管理员界面。配置选项包括save_limit、guard_cycle、sync和queue_limit。支持的错误报告插件如Rollbar和Sentry,通过Q_CLUSTER设置配置。支持的Python版本为3.7, 3.8, 3.9,Django版本为2.2.x和3.1.x。  | ||
| AI总结 | ||
以下是对《Django Q Documentation Release 1.3.6》文档内容的中文总结,重点突出核心观点和关键信息:
---
### **Django Q 1.3.6 文档总结**
#### **简介**
Django Q 是一个原生 Django 任务队列、调度器和_worker_应用,使用 Python 多进程实现。它支持异步任务、定时任务、任务链、失败重试和成功存储等功能。
---
### **主要特性**
1. **核心功能**  
   - 多进程工作池  
   - 异步任务和定时任务(支持 Cron 表达式)  
   - 任务链、组和结果钩子  
   - 集成 Django Admin  
   - 支持 Redis、Disque、IronMQ、SQS、MongoDB 和 ORM 等消息队列  
   - 支持 Rollbar 和 Sentry 错误报告  
   - 多集群监控  
2. **兼容性**  
   - 测试通过 Python 3.7、3.8 和 Django 2.2.x、3.1.x  
   - 支持英文、德文和法文。
---
### **安装与配置**
1. **安装步骤**  
   - 使用 pip 安装:`$ pip install django-q`  
   - 在 `settings.py` 中添加 `'django_q'` 到 `INSTALLED_APPS`  
   - 运行迁移命令:`$ python manage.py migrate`  
   - 选择并配置消息队列,并安装对应的客户端库  
   - 启动集群:`$ python manage.py qcluster`
2. **依赖要求**  
   - Python 3.7 或更高版本  
   - Django 2.2.x 或更高版本  
   - 其他可选依赖:`redis`、`pymongo`、`boto3` 等。
---
### **配置选项**
Django Q 通过 `settings.py` 中的 `Q_CLUSTER` 配置,支持多种设置,包括:  
- `workers`:Worker 进程数,默认为 CPU 核数。  
- `timeout`:任务超时时间,单位为秒,默认为 60。  
- `save_limit`:成功任务的存储上限,默认为 250,设为 -1 表示不存储成功任务,0 表示存储所有成功任务。  
- `queue_limit`:单个集群内存中保留的任务数,默认为 `workers**2`。  
- `catch_up`:默认为 True,表示在集群恢复时执行所有错过的定时任务。
---
### **消息队列 (Broker)**
Django Q 支持多种 Broker,包括:  
1. **Redis**  
   - 配置项:`host`、`port`、`db`、`password` 等,默认为本地 Redis。  
2. **MongoDB**  
   - 需要 `pymongo` 客户端,适合小型任务队列。  
3. **Django ORM**  
   - 使用 Django 数据库作为消息队列,适合中等流量和定时任务。  
   - 支持通过 Django Admin 编辑和删除排队中的任务。  
4. **自定义 Broker**  
   - 支持自定义 Broker 类,通过 `broker_class` 配置实现。
---
### **错误报告**
Django Q 支持插件式错误报告机制,目前实现了:  
1. **Rollbar**  
2. **Sentry**  
开发者可通过自定义插件扩展错误报告服务,需在 `Q_CLUSTER` 中配置。
---
### **调度与监控**
1. **定时任务**  
   - 支持 Cron 表达式和重复任务。  
   - 默认启用 catch-up功能,执行错过的任务。  
2. **Admin 页面**  
   - 提供成功任务、失败任务、排队任务的管理界面。  
   - 支持按名称或组过滤任务。  
---
### **扩展功能**
- **任务链 (Chains)**:支持任务的串行或并行执行。  
- **结果钩子 (Hooks)**:任务成功或失败后可触发钩子函数。  
- **信号 (Signals)**:任务在生命周期中发出信号,可用于扩展功能。
---
### **总结**
Django Q 是一个功能强大且灵活的任务队列系统,适合 Django 项目的异步任务处理和调度需求。它支持多种消息队列和扩展插件,能够通过配置和自定义满足不同场景的需求。  | ||
 P1 
 P2 
 P3 
 P4 
 P5 
 P6 
 P7 
下载文档到本地,方便使用
    
                - 可预览页数已用完,剩余
                57 页请下载阅读 -
              
文档评分 
  













          Django Q Documentation
Release 1.3.6