重构 auto-check:状态数据下沉各包,workflow 精简为纯调度
- discovery: ping 探测存活 + ARP 解析 MAC,包级 Devices map,串行扫描 - stress: 脚本生成模式(BuildScript/ParseResults),ToolSet 工具检测,包级 Results map - report: 包级 Printed map,SaveAndPrintDeviceReport 保存+打印 - sshclient: 包级 RunCommand - workflow: 仅持有 config,Start() 固定循环,直接调用各包方法 - config: 移除 ScanConfig.Concurrency(串行扫描无需并发数)
This commit is contained in:
23
auto-check/pkg/discovery/discover.go
Normal file
23
auto-check/pkg/discovery/discover.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package discovery
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"auto-check/pkg/model"
|
||||
)
|
||||
|
||||
// Devices 设备表(IP → 设备),每轮 Discover() 后更新,包级公开
|
||||
var Devices = make(map[string]model.Device)
|
||||
|
||||
// Discover 扫描并更新包级 Devices map(过滤无 MAC 设备,保留上次状态延续)
|
||||
func (s *Scanner) Discover() {
|
||||
scanned := s.Scan()
|
||||
Devices = make(map[string]model.Device, len(scanned))
|
||||
for _, dev := range scanned {
|
||||
if dev.MAC == "" {
|
||||
fmt.Printf(" [!] %s 无 MAC(ARP 未解析),下轮重试\n", dev.IP)
|
||||
continue
|
||||
}
|
||||
Devices[dev.IP] = dev
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user