各包职责: - 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 行纯编排,所有业务逻辑下沉各包
32 lines
659 B
Go
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)
|
|
}
|