From a3b1461a312be7de04aa34032288fe9c7683f5b2 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Thu, 27 Jul 2023 10:37:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=8D=E8=BD=BD=E4=B8=80?= =?UTF-8?q?=E7=BB=84=E7=BD=91=E7=AB=99=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/events/events.go | 13 +++++++------ internal/events/utils.go | 6 ++++++ internal/nodes/node.go | 3 +++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/internal/events/events.go b/internal/events/events.go index 167b7a1..ed6bf0d 100644 --- a/internal/events/events.go +++ b/internal/events/events.go @@ -3,10 +3,11 @@ package events type Event = string const ( - EventStart Event = "start" // start loading - EventLoaded Event = "loaded" // first load - EventQuit Event = "quit" // quit node gracefully - EventReload Event = "reload" // reload config - EventTerminated Event = "terminated" // process terminated - EventNFTablesReady Event = "nftablesReady" // nftables ready + EventStart Event = "start" // start loading + EventLoaded Event = "loaded" // first load + EventQuit Event = "quit" // quit node gracefully + EventReload Event = "reload" // reload config + EventTerminated Event = "terminated" // process terminated + EventNFTablesReady Event = "nftablesReady" // nftables ready + EventReloadSomeServers Event = "reloadSomeServers" // reload some servers ) diff --git a/internal/events/utils.go b/internal/events/utils.go index 2b4129d..bf72436 100644 --- a/internal/events/utils.go +++ b/internal/events/utils.go @@ -24,6 +24,12 @@ func On(event Event, callback func()) { OnKey(event, nil, callback) } +func OnEvents(events []Event, callback func()) { + for _, event := range events { + On(event, callback) + } +} + func OnClose(callback func()) { On(EventQuit, callback) On(EventTerminated, callback) diff --git a/internal/nodes/node.go b/internal/nodes/node.go index 75e0dc0..5808725 100644 --- a/internal/nodes/node.go +++ b/internal/nodes/node.go @@ -1056,6 +1056,9 @@ func (this *Node) reloadServer() { if err != nil { remotelogs.Error("NODE", "apply server config error: "+err.Error()) } + + // notify event + events.Notify(events.EventReloadSomeServers) } }