From 11fb3ac6686a12d63e854e5d294ab4064608c939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sat, 10 Oct 2020 12:31:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0CPU=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=95=B0=E5=92=8C=E4=BF=AE=E6=94=B9=E8=8A=82=E7=82=B9=E7=9A=84?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/nodes/listener_manager.go | 4 ++++ internal/nodes/node.go | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/internal/nodes/listener_manager.go b/internal/nodes/listener_manager.go index c066ef8..f523420 100644 --- a/internal/nodes/listener_manager.go +++ b/internal/nodes/listener_manager.go @@ -2,6 +2,7 @@ package nodes import ( "github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/TeaOSLab/EdgeNode/internal/logs" "github.com/iwind/TeaGo/lists" "net/url" @@ -45,6 +46,9 @@ func (this *ListenerManager) Start(node *nodeconfigs.NodeConfig) error { // 所有的新地址 groupAddrs := []string{} availableServerGroups := node.AvailableGroups() + if !node.IsOn { + availableServerGroups = []*serverconfigs.ServerGroup{} + } if len(availableServerGroups) == 0 { logs.Println("LISTENER_MANAGER", "no available servers to startup") diff --git a/internal/nodes/node.go b/internal/nodes/node.go index 5ac8c3d..811a5b9 100644 --- a/internal/nodes/node.go +++ b/internal/nodes/node.go @@ -9,6 +9,7 @@ import ( "github.com/TeaOSLab/EdgeNode/internal/logs" "github.com/TeaOSLab/EdgeNode/internal/rpc" "github.com/TeaOSLab/EdgeNode/internal/utils" + "runtime" "time" ) @@ -101,8 +102,20 @@ func (this *Node) syncConfig(isFirstTime bool) error { return err } + // max cpu + if nodeConfig.MaxCPU > 0 && nodeConfig.MaxCPU < int32(runtime.NumCPU()) { + runtime.GOMAXPROCS(int(nodeConfig.MaxCPU)) + } else { + runtime.GOMAXPROCS(runtime.NumCPU()) + } + // 刷新配置 - logs.Println("NODE", "reload config ...") + if isFirstTime { + logs.Println("NODE", "reloading config ...") + } else { + logs.Println("NODE", "loading config ...") + } + nodeconfigs.ResetNodeConfig(nodeConfig) caches.SharedManager.UpdatePolicies(nodeConfig.AllCachePolicies()) sharedWAFManager.UpdatePolicies(nodeConfig.AllHTTPFirewallPolicies())