搜索

epub文档 Django Q Documentation Release 0.8.0

506.27 KB 73 页 0 下载 82 浏览 0 评论 0 收藏
语言 格式 评分
英语
.epub
3
摘要
Django Q is a native Django task queue, scheduler, and worker application using Python multiprocessing. It supports features such as multiprocessing worker pools, asynchronous tasks, scheduled and repeated tasks, encrypted and compressed packages, and compatibility with multiple message brokers like Redis, IronMQ, SQS, MongoDB, and Django ORM. The application can be configured using the Q_CLUSTER dictionary in settings.py, with parameters including workers, recycle, timeout, and more. Django Q is tested with Python 2.7 & 3.6 and Django versions 1.8.18 LTS, 1.10.7, and 1.11.
AI总结
# Django Q 0.8.0 发布说明总结 ## 1. 兼容性 - Django Q 仍然兼容 Django 1.7 和 1.9,但新版本不再测试这些旧版本。 - 支持的 Python 版本为 2.7 和 3.6,Django 版本为 1.8.18、1.10.7 和 1.11。 ## 2. 安装与配置 ### 安装 - 使用 pip 安装最新版本: ```bash $ pip install Django-q ``` - 将 `django_q` 添加到项目 `settings.py` 的 `INSTALLED_APPS` 中: ```python INSTALLED_APPS = ( # 其他应用 'django_q', ) ``` - 运行 Django 迁移以创建数据库表: ```bash $ python manage.py migrate ``` ### 配置 - 配置文件示例(`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, } } ``` - 配置参数说明: - `name`:区分项目,默认为 `default`。 - `workers`:设置工作进程数,默认为 CPU 核心数。 - `recycle`:空闲时间(秒)后重新启动 worker。 - `timeout`:任务超时时间(秒)。 - `compress`:压缩任务数据,默认为 `True`。 - `save_limit`:成功任务保存的最大数量。 - `queue_limit`:队列消息的最大数量。 - `cpu_affinity`:绑定 CPU 核心,默认为 `1`。 ## 3. 功能模块 ### 核心功能 - **任务队列**:支持异步任务处理。 - **任务调度**:支持计划任务和重复任务。 - **任务管理**:支持任务分组、链式任务和依赖钩子。 - **结果存储**:支持数据库或缓存存储任务结果。 - **加密与压缩**:任务数据经过加密和压缩,确保安全性和高效性。 - **监控界面**:通过 Django 行政界面监控任务状态。 - **多集群支持**:支持多集群监控和管理。 ### 消息代理 Django Q 支持多种消息代理: - **Redis**:默认支持,配置简单。 - **Disque**:分布式队列系统。 - **IronMQ**:云队列服务。 - **SQS**:亚马逊简单队列服务。 - **MongoDB**:支持持久化存储。 - **Django ORM**:使用 Django 数据库作为消息存储。 ### 任务状态 - **成功任务**:展示所有成功执行的任务,支持按组过滤和搜索。 - **失败任务**:记录失败任务的错误信息,支持重新提交任务。 - **调度任务**:支持计划任务的创建、修改和删除。 ## 4. 第三方依赖 - **Django-picklefield**:用于存储任务参数和结果。 - **Arrow**:用于任务调度的时间处理。 - **Blessed**:用于终端布局和监控界面。 ## 5. 示例与扩展 - **邮件任务**:支持通过信号或任务队列发送邮件。 - **信号处理**:支持任务完成或失败时触发信号。 - **报告生成**:支持生成任务执行报告。 - **Haystack**:支持与全文检索框架集成。 - **Shell**:支持在 Django Shell 中直接执行任务。 ## 6. 脚本命令 - 启动任务集群: ```bash $ python manage.py qcluster ``` ## 7. 兼容性与扩展 - 支持多平台和多环境部署。 - 支持 PaaS 集成,适合云部署。 ## 总结 Django Q 是一个功能强大的 Django 原生任务队列和调度工具,支持多种消息代理和扩展功能,适用于异步任务处理和计划任务管理。通过简单配置即可快速集成到 Django 项目中,满足多种任务处理需求。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 66 页请下载阅读 -
文档评分
请文明评论,理性发言.