Django Q Documentation
Release 0.7.9
514.67 KB
62 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .epub | 3 |
摘要 | ||
Django Q is a native Django task queue, scheduler, and worker application utilizing Python multiprocessing. It offers features such as a multiprocessing worker pool, asynchronous and scheduled tasks, encrypted and compressed packages, database or cache for failures and successes, result hooks, Django Admin integration, and compatibility with multiple brokers like Redis and MongoDB. The configuration is handled through the Q_CLUSTER dictionary in settings.py, allowing customization of workers, timeouts, and task limits. Django Q supports both Python 2.7 and 3.5, and is compatible with various Django versions, aiming to maintain compatibility with the last two major releases. | ||
AI总结 | ||
《Django Q Documentation Release 0.7.9》摘要如下:
### 1. **概述**
Django Q 是一个本地 Django 任务队列、调度和工作节点应用,使用 Python 多进程技术实现。它支持异步任务、定时任务、任务压缩与加密、失败重试、数据库或缓存结果存储、结果钩子、Django Admin 集成、多集群监控等功能,支持 Redis、Disque、IronMQ、SQS、MongoDB 或 ORM 作为消息代理。
其核心功能包括:
- 多进程工作池
- 异步任务和定时任务
- 加密和压缩任务
- 失败和成功结果存储
- 提供钩子和任务组
- 与 Django Admin 集成
- 支持多实例和集群监控
### 2. **安装与配置**
- **安装**:通过 pip 安装 `django-q`,并在 Django 项目的 `INSTALLED_APPS` 中添加 `django_q`。
- **配置**:在 `settings.py` 中配置 `Q_CLUSTER` 字典,以下为常用配置项:
- `name`:用于区分项目,默认为 `'default'`。
- `workers`:工作者数量,默认为当前主机的 CPU 核数。
- `recycle`:工作者处理任务的数量后重启,默认为 500。
- `timeout`:任务超时时间,默认为 60 秒。
- `compress`:是否压缩任务数据,默认为 `True`。
- `redis`:Redis 配置,包括主机、端口和数据库。
### 3. **功能与使用**
- **异步任务**:通过 `async()` 函数将任务异步执行。
- **定时任务**:通过 `schedule()` 函数设置定时任务,支持一次性、重复和周期性任务。
- **任务组**:支持任务分组,方便管理和结果获取。
- **邮件示例**:展示了如何通过 Django Q 异步发送邮件,并设置后续提醒邮件。
- **信号示例**:通过 Django 模型信号(如 `pre_save`)触发异步任务。
### 4. **Admin 管理**
Django Q 提供了以下模型的 Admin 界面:
- **成功任务**:显示所有成功执行的任务,支持按名称、功能或组筛选。
- **失败任务**:显示因错误未完成的任务,支持重新提交失败任务。
- **定时任务**:管理定时任务的配置和执行状态。
### 5. **依赖与兼容性**
- **依赖包**:包括 `django-picklefield`、`arrow` 和 `blessed`。
- **兼容性**:支持 Django 1.7.10、1.8.4 和 1.9a1,测试通过 Python 2.7 和 3.5。
### 6. **开发与支持**
- 开源地址:[GitHub](https://github.com/Koed00/django-q)
- 问题反馈:[GitHub Issues](https://github.com/Koed00/django-q/issues)
Django Q 是一个功能强大且灵活的任务队列系统,适合在 Django 项目中处理异步任务和定时任务,支持多种消息代理和扩展配置。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
55 页请下载阅读 -
文档评分