agent-resource-management 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -50
- package/data/skills/arm-tool/SKILL.md +102 -0
- package/data/skills/arm-tool.zip +0 -0
- package/dist/main.js +445 -1
- package/package.json +1 -1
- package/src/cmd/agent.ts +287 -0
- package/src/lib/client.ts +87 -0
- package/src/lib/storage.ts +1 -1
- package/src/main.ts +164 -1
- package/test-regression.sh +50 -50
- package/dist//344/273/277/347/234/237/350/260/203/350/257/225/345/212/251/346/211/213/AGENT.md +0 -18
- package/dist//344/273/277/347/234/237/350/260/203/350/257/225/345/212/251/346/211/213/knowledges//344/273/277/347/234/237/345/271/263/345/217/260Loki/346/227/245/345/277/227/346/216/222/346/237/245/346/226/271/346/263/225.md +0 -27
- package/dist//344/273/277/347/234/237/350/260/203/350/257/225/345/212/251/346/211/213/knowledges//344/273/277/347/234/237/345/271/263/345/217/260/344/273/273/345/212/241/350/247/246/345/217/221/345/220/270/346/224/266/345/231/250/344/270/216/345/215/240/344/275/215/350/247/246/345/217/221/345/220/270/346/224/266/345/231/250/344/275/277/347/224/250/345/234/272/346/231/257.md +0 -18
- package/dist//344/273/277/347/234/237/350/260/203/350/257/225/345/212/251/346/211/213/knowledges//344/273/277/347/234/237/345/271/263/345/217/260/345/220/216/347/253/257Swagger/346/216/245/345/217/243/346/226/207/346/241/243.md +0 -22
- package/dist//344/273/277/347/234/237/350/260/203/350/257/225/345/212/251/346/211/213/knowledges//344/273/277/347/234/237/345/271/263/345/217/260/345/275/223/345/211/215/350/277/220/350/241/214/345/256/236/344/276/213/345/217/212/345/256/236/344/276/213/350/277/220/350/241/214/346/227/245/345/277/227/346/216/222/346/237/245.md +0 -39
- package/dist//344/273/277/347/234/237/350/260/203/350/257/225/345/212/251/346/211/213/knowledges//344/273/277/347/234/237/345/271/263/345/217/260/346/216/245/345/217/243/346/216/222/346/237/245/350/203/214/346/231/257/347/237/245/350/257/206.md +0 -49
- package/dist//344/273/277/347/234/237/350/260/203/350/257/225/345/212/251/346/211/213/knowledges//344/273/277/347/234/237/350/264/247/350/275/275/347/224/237/345/221/275/345/221/250/346/234/237/346/237/245/350/257/242/346/265/201/347/250/213.md +0 -165
- package/dist//344/273/277/347/234/237/350/260/203/350/257/225/345/212/251/346/211/213/knowledges//345/244/251/350/275/246/350/260/203/345/272/246/347/263/273/347/273/237/351/207/215/347/273/204/346/216/245/345/217/243/350/260/203/347/224/250/344/270/216/346/227/245/345/277/227/345/210/206/346/236/220/346/226/271/346/263/225.md +0 -137
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
# 天车调度系统重组接口调用与日志分析
|
|
2
|
-
|
|
3
|
-
## 问题背景
|
|
4
|
-
天车调度系统调用重组接口后未生成调度结果,需要通过日志分析定位问题根因。
|
|
5
|
-
|
|
6
|
-
## 接口信息
|
|
7
|
-
|
|
8
|
-
### 1. 天车重组接口
|
|
9
|
-
- **地址**: `http://192.168.58.22:8000/dcs_api_v1/world_schedule`
|
|
10
|
-
- **方法**: POST
|
|
11
|
-
- **参数**: 无
|
|
12
|
-
- **返回**: 包含 `trace_id` 用于日志追踪
|
|
13
|
-
|
|
14
|
-
### 2. 日志查询接口
|
|
15
|
-
- **地址**: `http://192.168.58.22:8000/api/logs/search_trace/{trace_id}`
|
|
16
|
-
- **方法**: GET
|
|
17
|
-
- **参数**: trace_id(从重组接口返回的请求ID)
|
|
18
|
-
|
|
19
|
-
## 问题分析方法
|
|
20
|
-
|
|
21
|
-
### 步骤1:调用重组接口
|
|
22
|
-
```bash
|
|
23
|
-
curl -X POST http://192.168.58.22:8000/dcs_api_v1/world_schedule
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
获取返回的 `trace_id`,例如:`37113fad63f8`
|
|
27
|
-
|
|
28
|
-
### 步骤2:查询过程日志
|
|
29
|
-
```bash
|
|
30
|
-
curl -X GET http://192.168.58.22:8000/api/logs/search_trace/37113fad63f8
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### 步骤3:分析关键日志信息
|
|
34
|
-
在日志中搜索以下关键词:
|
|
35
|
-
|
|
36
|
-
#### 关键信息1:任务过滤情况
|
|
37
|
-
```
|
|
38
|
-
过滤前X个item,过滤后...
|
|
39
|
-
```
|
|
40
|
-
- 如果显示“过滤后没有任务item”,说明没有可调度的任务
|
|
41
|
-
- 如果显示“过滤后没有isReady为true的任务item”,说明任务存在但未就绪
|
|
42
|
-
|
|
43
|
-
#### 关键信息2:设备状态
|
|
44
|
-
```
|
|
45
|
-
设备ID, 设备类型, Weight: 当前载重/最大载重, onboard Tasks: 任务列表
|
|
46
|
-
```
|
|
47
|
-
- 检查所有设备是否空闲
|
|
48
|
-
- 确认设备载重情况
|
|
49
|
-
|
|
50
|
-
#### 关键信息3:移动记录
|
|
51
|
-
```
|
|
52
|
-
设备ID 第X次, 移动记录:[]
|
|
53
|
-
```
|
|
54
|
-
- 如果移动记录为空,说明没有生成调度方案
|
|
55
|
-
|
|
56
|
-
## 常见问题与解决方案
|
|
57
|
-
|
|
58
|
-
### 场景1:没有可调度的任务
|
|
59
|
-
**症状**:
|
|
60
|
-
```
|
|
61
|
-
过滤前5个item,过滤后没有设备类型为FA_FLAT_WORK_AREA的任务item
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
**原因**:
|
|
65
|
-
- 任务类型不匹配(系统只调度特定类型任务)
|
|
66
|
-
- 所有任务已完成或未创建
|
|
67
|
-
|
|
68
|
-
**解决方案**:
|
|
69
|
-
```sql
|
|
70
|
-
-- 1. 检查任务表
|
|
71
|
-
SELECT * FROM overhead_crane_tasks WHERE status = 'pending';
|
|
72
|
-
|
|
73
|
-
-- 2. 检查任务类型
|
|
74
|
-
SELECT * FROM overhead_crane_tasks WHERE device_type = 'FA_FLAT_WORK_AREA';
|
|
75
|
-
|
|
76
|
-
-- 3. 创建测试任务(如需要)
|
|
77
|
-
INSERT INTO overhead_crane_tasks (...) VALUES (...);
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### 场景2:任务存在但未就绪(isReady=false)
|
|
81
|
-
**症状**:
|
|
82
|
-
```
|
|
83
|
-
过滤前2个item,过滤后没有isReady为true的任务item
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**原因**:
|
|
87
|
-
- 前置条件未满足(如依赖任务未完成)
|
|
88
|
-
- 任务状态异常
|
|
89
|
-
- 时间窗口问题
|
|
90
|
-
|
|
91
|
-
**解决方案**:
|
|
92
|
-
```sql
|
|
93
|
-
-- 1. 查看任务详情
|
|
94
|
-
SELECT * FROM overhead_crane_tasks WHERE is_ready = false;
|
|
95
|
-
|
|
96
|
-
-- 2. 检查任务创建流程
|
|
97
|
-
SELECT * FROM overhead_crane_tasks ORDER BY created_at DESC LIMIT 10;
|
|
98
|
-
|
|
99
|
-
-- 3. 手动设置就绪(谨慎操作)
|
|
100
|
-
UPDATE overhead_crane_tasks SET is_ready = true WHERE id = 'xxx';
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### 场景3:所有设备空闲但无调度
|
|
104
|
-
**症状**:
|
|
105
|
-
```
|
|
106
|
-
FA_A_01, DV_A_TC_R, Weight: 0/30000.0, onboard Tasks: None
|
|
107
|
-
FA_A_01, DV_A_TC_L, Weight: 0/25000.0, onboard Tasks: None
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**原因**:
|
|
111
|
-
- 系统中确实没有待调度任务
|
|
112
|
-
- 任务已被其他调度实例处理
|
|
113
|
-
|
|
114
|
-
**解决方案**:
|
|
115
|
-
1. 检查任务创建流程
|
|
116
|
-
2. 确认是否有其他调度实例在运行
|
|
117
|
-
3. 创建新测试任务验证
|
|
118
|
-
|
|
119
|
-
## 排查清单
|
|
120
|
-
|
|
121
|
-
- [ ] 调用重组接口并记录 trace_id
|
|
122
|
-
- [ ] 查询日志获取执行过程
|
|
123
|
-
- [ ] 检查任务过滤情况(过滤前/后数量)
|
|
124
|
-
- [ ] 确认设备状态(是否空闲、载重情况)
|
|
125
|
-
- [ ] 查看任务表数据
|
|
126
|
-
- [ ] 检查任务类型是否匹配
|
|
127
|
-
- [ ] 检查任务 isReady 状态
|
|
128
|
-
- [ ] 分析任务创建和状态更新逻辑
|
|
129
|
-
- [ ] 必要时创建测试任务验证
|
|
130
|
-
|
|
131
|
-
## 最佳实践
|
|
132
|
-
|
|
133
|
-
1. **保存 trace_id**:每次调用重组接口后保存 trace_id,便于后续追踪
|
|
134
|
-
2. **定期检查日志**:关注“过滤前/后”任务数量变化
|
|
135
|
-
3. **监控设备状态**:确认设备是否正常注册和在线
|
|
136
|
-
4. **任务状态管理**:定期检查任务表,清理异常状态的任务
|
|
137
|
-
5. **版本控制**:记录调度系统的版本变更,便于问题追溯
|