69 lines
3.3 KiB
Plaintext
69 lines
3.3 KiB
Plaintext
---
|
||
description:
|
||
globs:
|
||
alwaysApply: false
|
||
---
|
||
# VWED任务模块 - 系统架构
|
||
|
||
## 架构概览
|
||
|
||
VWED任务模块采用分层架构设计,共分为五层:
|
||
|
||
1. **客户端层**:包括任务管理界面、任务创建界面、任务编辑界面和任务监控与执行界面
|
||
2. **业务逻辑层**:包括任务定义模块、任务执行模块、组件管理模块、参数配置模块和模板配置模块
|
||
3. **数据访问层**:包括任务定义DAO、任务记录DAO、任务块记录DAO、数据缓存DAO和模板DAO
|
||
4. **数据存储层**:包括vwed_taskdef、vwed_taskrecord、vwed_blockrecord、vwed_datacache和vwed_tasktemplate等数据表
|
||
5. **集成服务层**:包括AGV控制接口、站点管理接口、设备接口、外部系统接口和认证服务
|
||
|
||
## 核心模块
|
||
|
||
### 任务调度系统
|
||
|
||
任务调度系统是VWED任务模块的核心,负责任务的分配、执行和管理。系统采用增强版任务调度器设计,主要组件包括:
|
||
|
||
- **EnhancedTaskScheduler**:主调度器,协调各组件工作
|
||
- **PriorityQueueManager**:优先级队列管理,实现多级队列
|
||
- **WorkerManager**:工作线程管理和监控
|
||
- **TaskPersistenceManager**:任务队列持久化,故障恢复
|
||
- **PeriodicTaskManager**:高级定时任务管理
|
||
|
||
相关代码:[services/enhanced_scheduler](mdc:services/enhanced_scheduler)
|
||
|
||
### 业务逻辑服务
|
||
|
||
业务逻辑服务层包含多个关键服务:
|
||
|
||
- **TaskService**:[services/task_service.py](mdc:services/task_service.py) - 任务管理服务
|
||
- **TaskEditService**:[services/task_edit_service.py](mdc:services/task_edit_service.py) - 任务编辑服务
|
||
- **TemplateService**:[services/template_service.py](mdc:services/template_service.py) - 模板管理服务
|
||
- **ScriptService**:[services/script_service.py](mdc:services/script_service.py) - 脚本管理服务
|
||
|
||
### API接口层
|
||
|
||
API接口层通过FastAPI框架实现,主要包括以下路由模块:
|
||
|
||
- **任务API**:[routes/task_api.py](mdc:routes/task_api.py) - 任务管理相关接口
|
||
- **任务编辑API**:[routes/task_edit_api.py](mdc:routes/task_edit_api.py) - 任务编辑相关接口
|
||
- **模板API**:[routes/template_api.py](mdc:routes/template_api.py) - 模板管理相关接口
|
||
- **脚本API**:[routes/script_api.py](mdc:routes/script_api.py) - 脚本管理相关接口
|
||
- **数据库API**:[routes/database.py](mdc:routes/database.py) - 数据库操作相关接口
|
||
|
||
### 数据模型层
|
||
|
||
数据模型层定义了系统中的各种数据实体:
|
||
|
||
- **TaskDef**:[data/models/taskdef.py](mdc:data/models/taskdef.py) - 任务定义模型
|
||
- **TaskRecord**:[data/models/taskrecord.py](mdc:data/models/taskrecord.py) - 任务记录模型
|
||
- **BlockRecord**:[data/models/blockrecord.py](mdc:data/models/blockrecord.py) - 任务块记录模型
|
||
- **DataCache**:[data/models/datacache.py](mdc:data/models/datacache.py) - 数据缓存模型
|
||
- **TaskTemplate**:[data/models/tasktemplate.py](mdc:data/models/tasktemplate.py) - 任务模板模型
|
||
|
||
## 系统流程
|
||
|
||
1. 用户通过客户端界面创建或编辑任务
|
||
2. API接口层接收请求并转发给相应的业务逻辑服务
|
||
3. 业务逻辑服务处理请求,操作数据模型,并提交任务至调度系统
|
||
4. 调度系统根据任务优先级和资源情况安排任务执行
|
||
5. 执行结果通过状态管理机制反馈给用户
|
||
|