Files
membank/auto-check/cmd/run.go
张威33321 700ba91883 重构 auto-check:拆分包架构,精简 workflow 为纯调度循环
各包职责:
- config: 分类 YAML 配置
- model: Device/IP/MAC 公共类型
- discovery: 扫描 + ARP MAC 解析 + Devices 变量
- sshclient: SSH 连接
- stress: stress-ng/stressapptest 压测 + Results 变量
- report: 80mm 热敏模板/sparkline/打印 + Printed 变量
- workflow: 永久循环调度 + Start/Stop

workflow 已精简为 100 行纯编排,所有业务逻辑下沉各包
2026-08-11 20:58:19 +08:00

32 lines
659 B
Go

package cmd
import (
"fmt"
"auto-check/pkg/config"
"auto-check/pkg/workflow"
"github.com/spf13/cobra"
)
var runCmd = &cobra.Command{
Use: "run",
Short: "启动永久循环工作流:扫描 → 增量压测 → 状态打印",
RunE: func(cmd *cobra.Command, args []string) error {
// 从配置文件加载配置
cfg, err := config.Load(configFile)
if err != nil {
return err
}
fmt.Printf(" [配置] 加载完成: 网段=%s 间隔=%v 压测=%s\n",
cfg.Scan.CIDR, cfg.Workflow.Interval, cfg.Stress.Types)
// 启动工作流(永久循环)
return workflow.New(*cfg).Start()
},
}
func init() {
rootCmd.AddCommand(runCmd)
}