Django Q Documentation
Release 0.4.6
249.57 KB
36 页
0 下载
270 浏览
0 评论
0 收藏
所属分类:
后端开发 / Python / Django
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
Django Q 是一个基于 Django 的任务队列和调度应用,使用 Python 的 multiprocessing 模块管理任务处理池。文档详细介绍了其安装、任务处理、调度安排、集群管理、监控功能以及与 Django admin 的集成。主要功能包括 multiprocessing worker pool、异步任务、scheduled 和 repeated tasks、加密压缩包、失败与成功数据库、结果钩子和组、Django Admin 集成、PaaS 兼容性、多集群监控和 Redis 代理。文档还提供了安装步骤、配置说明和使用示例。 | ||
| AI总结 | ||
# Django Q 0.4.6 文档总结
## 核心功能
- **任务队列**:基于 Python 的多进程池,支持异步任务。
- **调度与重复任务**:支持一次性、每小时、每天、每周、每月、每季度和每年的计划任务。
- **监控与管理**:提供任务的成功与失败数据库、结果钩子、任务组管理及 Django Admin 集成。
- **扩展性**:支持 Redis 代理、多实例 PaaS、多集群监控及多种任务分组处理。
- **兼容性**:支持 Python 2.7 & 3.4 和 Django 1.7.9 & 1.8.3。
## 安装步骤
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 服务器已运行并配置好连接。
## 任务与调度
- **任务属性**:支持 `args`、`kwargs`、`func` 等参数。
- **调度频率**:
- `ONCE`:仅运行一次,可设置重复次数保留结果。
- `HOURLY`:每小时运行一次。
- `DAILY`:每天运行一次。
- `WEEKLY`:每周运行一次。
- `MONTHLY`:每月运行一次,注意月份天数问题。
- `QUARTERLY`:每季度运行一次。
- `YEARLY`:每年运行一次,注意闰年问题。
## 集群管理
- 使用 `multiprocessing` 模块管理工人进程。
- 启动命令:
```bash
$ python manage.py qcluster
```
- 停止方式:支持 `ctrl-c`、`SIGTERM` 和 `SIGKILL` 信号。
## 监控与状态
- **Stat 类**:提供集群状态信息,如任务队列大小、进程 ID 等。
- **方法**:`get()` 和 `get_all()` 用于获取集群状态,`empty_queues()` 用于检查队列是否为空。
## 管理页面
- 使用 Django 默认的模型管理界面:
1. **成功任务**:展示所有成功执行的任务,支持按名称、函数和组筛选。
2. **失败任务**:显示失败任务详情,支持重新提交任务。
3. **计划任务**:管理计划任务的创建、编辑和删除。
## 示例
- **Haystack 索引**:通过信号处理实时更新索引。
- **任务分组**:使用 `result_group` 和 `count_group` 处理概率密度函数的分组任务。
## 总结
Django Q 是一个功能强大的任务队列工具,支持异步任务、计划任务、集群管理和监控,适用于需要高效处理后台任务的 Django 项目。其与 Redis 的集成和 Django Admin 的无缝对接,使其成为开发者的理想选择。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
29 页请下载阅读 -
文档评分














Django Q Documentation
Release 0.3.6