diff --git a/internal/nodes/listener_manager.go b/internal/nodes/listener_manager.go index 656c7f0..a6c17cf 100644 --- a/internal/nodes/listener_manager.go +++ b/internal/nodes/listener_manager.go @@ -67,7 +67,7 @@ func (this *ListenerManager) Start(node *nodeconfigs.NodeConfig) error { this.lastConfig = node // 初始化 - err := node.Init() + err, _ := node.Init() if err != nil { return err } diff --git a/internal/nodes/node.go b/internal/nodes/node.go index bda00ec..d661735 100644 --- a/internal/nodes/node.go +++ b/internal/nodes/node.go @@ -132,11 +132,16 @@ func (this *Node) Start() { return } teaconst.NodeId = nodeConfig.Id - err = nodeConfig.Init() + err, serverErrors := nodeConfig.Init() if err != nil { remotelogs.Error("NODE", "init node config failed: "+err.Error()) return } + if len(serverErrors) > 0 { + for _, serverErr := range serverErrors { + remotelogs.ServerError(serverErr.Id, "NODE", serverErr.Message, nodeconfigs.NodeLogTypeServerConfigInitFailed, maps.Map{}) + } + } sharedNodeConfig = nodeConfig // 发送事件 @@ -372,10 +377,15 @@ func (this *Node) syncConfig(taskVersion int64) error { return err } - err = nodeConfig.Init() + err, serverErrors := nodeConfig.Init() if err != nil { return err } + if len(serverErrors) > 0 { + for _, serverErr := range serverErrors { + remotelogs.ServerError(serverErr.Id, "NODE", serverErr.Message, nodeconfigs.NodeLogTypeServerConfigInitFailed, maps.Map{}) + } + } // max cpu if nodeConfig.MaxCPU > 0 && nodeConfig.MaxCPU < int32(runtime.NumCPU()) { diff --git a/internal/remotelogs/utils.go b/internal/remotelogs/utils.go index 7ab6550..5f950e2 100644 --- a/internal/remotelogs/utils.go +++ b/internal/remotelogs/utils.go @@ -8,6 +8,7 @@ import ( "github.com/TeaOSLab/EdgeNode/internal/rpc" "github.com/TeaOSLab/EdgeNode/internal/trackers" "github.com/cespare/xxhash" + "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/logs" "github.com/iwind/TeaGo/maps" "github.com/iwind/TeaGo/types" @@ -19,6 +20,9 @@ var logChan = make(chan *pb.NodeLog, 1024) func init() { // 定期上传日志 ticker := time.NewTicker(60 * time.Second) + if Tea.IsTesting() { + ticker = time.NewTicker(10 * time.Second) + } go func() { for range ticker.C { var tr = trackers.Begin("UPLOAD_REMOTE_LOGS")