|
@@ -2,10 +2,12 @@ package main
|
|
|
|
|
|
import (
|
|
|
"cicv-data-closedloop/common/config/c_log"
|
|
|
+ "cicv-data-closedloop/common/util"
|
|
|
commonConfig "cicv-data-closedloop/pji/common/cfg"
|
|
|
commonService "cicv-data-closedloop/pji/common/svc"
|
|
|
controlConfig "cicv-data-closedloop/pji/control/package/cfg"
|
|
|
"net/rpc"
|
|
|
+ "os"
|
|
|
"runtime"
|
|
|
"time"
|
|
|
)
|
|
@@ -28,6 +30,8 @@ func init() {
|
|
|
|
|
|
func main() {
|
|
|
|
|
|
+ lastStatus := "NONE"
|
|
|
+
|
|
|
// 轮询任务接口判断是否有更新
|
|
|
for {
|
|
|
time.Sleep(time.Duration(2) * time.Second)
|
|
@@ -46,11 +50,23 @@ func main() {
|
|
|
} else if status == "CHANGE" || status == "NONE" {
|
|
|
// 3 发送rpc信号杀死采集程序
|
|
|
var masterArgs *commonService.KillSignal
|
|
|
- if status == "CHANGE" {
|
|
|
+ if lastStatus == "NONE" && status == "CHANGE" {
|
|
|
+ _, err := util.ExecuteWithPath(commonConfig.LocalConfig.RestartCmd.Dir, commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args...)
|
|
|
+ if err != nil {
|
|
|
+ c_log.GlobalLogger.Info("启动新程序失败,【path】=", commonConfig.LocalConfig.RestartCmd.Dir, "【cmd】=", commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args, ":", err)
|
|
|
+ os.Exit(-1)
|
|
|
+ }
|
|
|
+ c_log.GlobalLogger.Info("启动任务,本地执行启动命令:【path】=", commonConfig.LocalConfig.RestartCmd.Dir, "【cmd】=", commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args)
|
|
|
+ lastStatus = status
|
|
|
+ c_log.GlobalLogger.Info("获取数据闭环平台最新配置。")
|
|
|
+ commonConfig.InitPlatformConfig()
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if lastStatus == "UN_CHANGE" && status == "CHANGE" {
|
|
|
masterArgs = &commonService.KillSignal{NodeName: "master", DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: true}
|
|
|
c_log.GlobalLogger.Info("更新任务,发送rpc重启信号:", masterArgs)
|
|
|
}
|
|
|
- if status == "NONE" {
|
|
|
+ if lastStatus == "UN_CHANGE" && status == "NONE" {
|
|
|
masterArgs = &commonService.KillSignal{NodeName: "master", DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: false}
|
|
|
c_log.GlobalLogger.Info("杀死任务,发送rpc结束信号:", masterArgs)
|
|
|
}
|
|
@@ -70,6 +86,7 @@ func main() {
|
|
|
//KillRpcClient.Close()
|
|
|
//continue
|
|
|
}
|
|
|
+ lastStatus = status
|
|
|
c_log.GlobalLogger.Info("获取数据闭环平台最新配置。")
|
|
|
commonConfig.InitPlatformConfig()
|
|
|
KillRpcClient.Close()
|
|
@@ -77,5 +94,4 @@ func main() {
|
|
|
c_log.GlobalLogger.Error("未知的采集任务状态。【status】=", status)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|