fix
zhangqian
2023-10-19 cab6eea89a0d82710369604ecb51f1cdb122e433
main.go
@@ -25,11 +25,6 @@
      return
   }
   if err := crontask.InitTask(); err != nil {
      logx.Errorf("crontab task Init err:%v", err)
      return
   }
   //加载plc写入地址
   plc_address.LoadAddressFromFile()
@@ -41,6 +36,7 @@
      "process_model",
      "production_progress",
      "work_order",
      "task_status_sync",
   }
   agent := serf.InitAgent("apsClient", syncTables, sqlitex.GetDB())
@@ -54,6 +50,12 @@
         logx.Errorf("nsq Init err:%v", err)
         return
      }
   }
   crontask.Once(agent.ClusterStatus != "slave")
   if err := crontask.StartTask(agent.ClusterStatus != "slave"); err != nil {
      logx.Errorf("crontab task Init err:%v", err)
      return
   }
   logx.Infof("apsClient start serve...")
@@ -69,12 +71,22 @@
func serfClusterEvent(stat int) {
   switch stat {
   case serf.EventCreateCluster, serf.EventSlave2Master, serf.EventLeaveCluster:
      if err := nsq.Init(); err != nil {
      if err := nsq.Init(); err != nil { //开启nsq
         logx.Errorf("nsq Init err:%v", err)
         return
      }
      crontask.Once(true)
      if err := crontask.RestartTask(true); err != nil { //以master方式重启task
         logx.Errorf("crontab task Init err:%v", err)
         return
      }
   case serf.EventJoinCluster, serf.EventMaster2Slave:
      nsq.Stop()
      nsq.Stop() //关闭nsq
      crontask.Once(false)
      if err := crontask.RestartTask(false); err != nil { //以非master方式重启task
         logx.Errorf("crontab task Init err:%v", err)
         return
      }
   }
   logx.Infof("serf cluster event: %v", stat)