优化代码

This commit is contained in:
dushixiang committed 2025-12-14 21:15:11 +08:00
1 parent c0790e9ced
commit 74179374df
13 files changed
+36 -31

No files matched your search

+12 -10
View File
@@ -21,6 +21,7 @@ import (
"github.com/dushixiang/pika/pkg/version"
"github.com/gorilla/websocket"
"github.com/jpillora/backoff"
"github.com/sourcegraph/conc"
)
// 定义特殊错误类型
@@ -193,35 +194,36 @@ func (a *Agent) runOnce(ctx context.Context, onConnected func()) error {
done := make(chan struct{})
errChan := make(chan error, 3)
var wg conc.WaitGroup
// 启动读取循环(处理服务端的 Ping/Pong 等控制消息)
go func() {
wg.Go(func() {
if err := a.readLoop(rawConn, done); err != nil {
errChan <- fmt.Errorf("读取失败: %w", err)
}
}()
})
// 启动心跳和数据发送
go func() {
wg.Go(func() {
if err := a.heartbeatLoop(ctx, conn, done); err != nil {
errChan <- fmt.Errorf("心跳失败: %w", err)
}
}()
})
go func() {
wg.Go(func() {
if err := a.metricsLoop(ctx, conn, collectorManager, done); err != nil {
errChan <- fmt.Errorf("数据采集失败: %w", err)
}
}()
})
// 启动防篡改事件监控
go func() {
wg.Go(func() {
a.tamperEventLoop(ctx, conn, done)
}()
})
// 启动防篡改属性告警监控
go func() {
wg.Go(func() {
a.tamperAlertLoop(ctx, conn, done)
}()
})
// 等待错误或上下文取消
select {