From dd75b36c03049be232a94d97eff1c4a5cc751fb5 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 31 十月 2023 22:08:39 +0800 Subject: [PATCH] 支持设备ID切换 --- main.go | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/main.go b/main.go index 8aa04c1..b1a14d7 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ import ( "apsClient/conf" + "apsClient/constvar" "apsClient/crontask" "apsClient/model" "apsClient/nsq" @@ -9,6 +10,7 @@ "apsClient/pkg/sqlitex" "apsClient/router" "apsClient/serf" + "apsClient/service" "apsClient/service/plc_address" "fmt" "log" @@ -52,9 +54,18 @@ return } + //浠庢枃浠堕噷璇诲彇褰撳墠鐢熶骇璁惧id + conf.Conf.CurrentDeviceID = service.ReadDeviceIDFromFile() + if conf.Conf.CurrentDeviceID == "" { + conf.Conf.CurrentDeviceID = conf.Conf.System.DeviceId + } + // 鍒ゆ柇褰撳墠闆嗙兢鐘舵�� logx.Infof("current agent.ClusterStatus:%v", agent.ClusterStatus) log.Println("current agent.ClusterStatus:", agent.ClusterStatus) + + conf.Conf.SerfClusterStatus = agent.ClusterStatus + if agent.ClusterStatus != "slave" { if err := nsq.Init(); err != nil { logx.Errorf("nsq Init err:%v", err) @@ -79,6 +90,7 @@ } func serfClusterEvent(stat int) { + ChangeClusterStatus(stat) switch stat { case serf.EventCreateCluster, serf.EventSlave2Master, serf.EventLeaveCluster: if err := nsq.Init(); err != nil { //寮�鍚痭sq @@ -101,3 +113,14 @@ logx.Infof("serf cluster event: %v", stat) } + +func ChangeClusterStatus(stat int) { + switch stat { + case serf.EventSlave2Master, serf.EventCreateCluster: + conf.Conf.SerfClusterStatus = constvar.SerfClusterStatusMaster + case serf.EventLeaveCluster: + conf.Conf.SerfClusterStatus = constvar.SerfClusterStatusNull + case serf.EventJoinCluster, serf.EventMaster2Slave: + conf.Conf.SerfClusterStatus = constvar.SerfClusterStatusSlave + } +} -- Gitblit v1.8.0