搜索

epub文档 Django Q Documentation Release 0.9.0

507.64 KB 75 页 0 下载 54 浏览 0 评论 0 收藏
语言 格式 评分
英语
.epub
3
摘要
文档介绍了Django Q,一个用于Django项目的任务队列、调度器和工作者应用程序。它支持 multiprocessing worker pools、异步任务、计划和重复任务等功能。文档详细说明了安装步骤、配置选项以及与Redis、Disque、IronMQ、SQS、MongoDB或ORM等消息队列的兼容性。还涵盖了错误处理、信号、任务监控等方面的内容。
AI总结
### Django Q 0.9.0 文档总结 #### 安装 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、Disque 等),配置并安装相应的客户端库。 5. 启动 Django Q 集群以处理异步任务: ```bash $ python manage.py qcluster ``` #### 配置 - 配置通过 `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, } } ``` #### 功能 1. ** multiprocessing 工作池 2. 异步任务 3. 调度和重复任务 4. 加密和压缩任务 5. 成功和失败结果的数据库或缓存存储 6. 结果钩子、分组和链式任务 7. Django Admin 集成 8. 多实例 PaaS 兼容性 9. 支持的消息代理:Redis、Disque、IronMQ、SQS、MongoDB 或 ORM 10. Rollbar 和 Sentry 错误报告支持 #### 兼容性 - Python 2.7 和 3.6 - Django 1.8.18 LTS、1.11.9 和 2.0 - 依赖项:Django-picklefield、Arrow、Blessed #### 任务管理 1. **同步任务**:使用 `async()` 创建同步任务。 2. **任务状态**:通过 `fetch(task_id)` 查看任务状态。 3. **失败处理**:失败任务会记录错误信息,可通过管理界面重新提交。 4. **调度任务**:支持定时和重复任务。 #### 错误处理 - 使用插件(如 Rollbar 和 Sentry)进行错误报告。 - 开发者可通过信号(`pre_enqueue` 和 `pre_execute`)自定义错误处理逻辑。 #### 信号 - **pre_enqueue**:任务入队前触发。 - **pre_execute**:任务执行前触发。 - 开发者可通过 Django 的信号机制订阅并自定义处理逻辑。 #### 连接池 - 优化连接使用,避免连接耗尽。 - 支持通过 Django-Redis 使用 Redis 连接池。 #### 其他 - **任务分组**:支持任务分组,便于管理和调度。 - **链式任务**:支持任务链,任务结果可作为下一个任务的输入。 - **监控**:通过 Django Admin 界面查看成功和失败任务,并支持通过管理界面删除或重试任务。 总结:Django Q 是一个功能强大的 Django 原生任务队列和调度工具,支持多种消息代理和插件扩展,适合需要异步任务处理和调度的项目。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 68 页请下载阅读 -
文档评分
请文明评论,理性发言.