定时调外部任务开启api
This commit is contained in:
107
README.md
107
README.md
@@ -1,3 +1,106 @@
|
||||
# task-executer
|
||||
# Celery 定时任务项目 + Flower监控
|
||||
|
||||
定时调用外呼任务api
|
||||
## 项目结构
|
||||
- `celery_app.py`: Celery应用配置
|
||||
- `tasks.py`: 定义任务函数
|
||||
- `scheduler.py`: 定时任务调度配置
|
||||
- `run_worker.py`: 启动Worker的脚本
|
||||
- `run_beat.py`: 启动Beat调度器的脚本
|
||||
- `run_flower.py`: 启动Flower监控的脚本
|
||||
- `flower_config.py`: Flower监控配置
|
||||
- `start_all.py`: 一键启动所有服务
|
||||
- `test_task.py`: 测试脚本
|
||||
|
||||
## 安装依赖
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## 启动Redis
|
||||
确保Redis服务已启动,默认监听localhost:6379
|
||||
|
||||
## 运行项目
|
||||
|
||||
### 方式一:一键启动(推荐)
|
||||
```bash
|
||||
python start_all.py
|
||||
```
|
||||
|
||||
### 方式二:分别启动
|
||||
1. 启动Celery Worker
|
||||
```bash
|
||||
python run_worker.py
|
||||
```
|
||||
|
||||
2. 启动Celery Beat调度器
|
||||
```bash
|
||||
python run_beat.py
|
||||
```
|
||||
|
||||
3. 启动Flower监控
|
||||
```bash
|
||||
python run_flower.py
|
||||
```
|
||||
|
||||
## Flower监控
|
||||
访问 http://localhost:5555 查看监控面板,包含:
|
||||
- 📊 实时任务状态
|
||||
- 📈 Worker状态和性能
|
||||
- ⏰ 定时任务执行历史
|
||||
- 🔍 任务执行详情
|
||||
- 📋 队列监控
|
||||
|
||||
## 定时任务配置
|
||||
任务会在每天上午9点准时执行,执行时会打印日志信息。
|
||||
|
||||
## 测试任务
|
||||
|
||||
### 1. 测试API接口
|
||||
```bash
|
||||
python test_api.py
|
||||
```
|
||||
|
||||
### 2. 测试重试机制
|
||||
```bash
|
||||
# 正常重试测试
|
||||
python test_retry.py
|
||||
|
||||
# 模拟失败场景测试
|
||||
python simulate_failure.py
|
||||
```
|
||||
|
||||
### 3. 测试HTTP方法
|
||||
```bash
|
||||
# 测试不同HTTP方法的API调用
|
||||
python test_methods.py
|
||||
|
||||
# 使用通用API任务
|
||||
from generic_api_task import generic_api_call
|
||||
result = generic_api_call.delay('get_api') # 调用GET API
|
||||
result = generic_api_call.delay('put_api', {'key': 'value'}) # 调用PUT API
|
||||
```
|
||||
|
||||
### 4. 测试Body配置
|
||||
```bash
|
||||
# 测试不同API配置的body参数
|
||||
python test_body_config.py
|
||||
|
||||
# 使用自定义body参数
|
||||
from generic_api_task import generic_api_call
|
||||
custom_body = {'title': '自定义标题', 'content': '自定义内容'}
|
||||
result = generic_api_call.delay('main_api', custom_body)
|
||||
```
|
||||
|
||||
### 3. 手动触发定时任务
|
||||
```python
|
||||
from tasks import daily_morning_task
|
||||
result = daily_morning_task.delay()
|
||||
print(result.get())
|
||||
```
|
||||
|
||||
## 监控功能
|
||||
- 实时查看任务执行状态
|
||||
- 监控Worker性能指标
|
||||
- 查看任务执行历史和日志
|
||||
- 管理定时任务
|
||||
- 监控队列状态
|
||||
Reference in New Issue
Block a user