|
@@ -1,26 +1,25 @@
|
|
|
package main
|
|
|
|
|
|
import (
|
|
|
- "cicv-data-closedloop/aarch64/kinglong/common/config"
|
|
|
+ commonConfig "cicv-data-closedloop/aarch64/kinglong/common/config"
|
|
|
"cicv-data-closedloop/aarch64/kinglong/common/service"
|
|
|
"cicv-data-closedloop/common/config/c_log"
|
|
|
"cicv-data-closedloop/common/util"
|
|
|
"net/rpc"
|
|
|
"os"
|
|
|
- "runtime"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
func init() {
|
|
|
- runtime.GOMAXPROCS(1)
|
|
|
-
|
|
|
- c_log.InitLog("/mnt/media/sda1/cicv-data-closedloop/log/", "kinglong-control")
|
|
|
+
|
|
|
|
|
|
- config.InitLocalConfig()
|
|
|
+ commonConfig.InitLocalConfig()
|
|
|
+
|
|
|
+ c_log.InitLog(commonConfig.LocalConfig.LogDir, "kinglong-control")
|
|
|
|
|
|
- config.InitOssConfig()
|
|
|
+ commonConfig.InitOssConfig()
|
|
|
|
|
|
- config.InitCloudConfig()
|
|
|
+ commonConfig.InitCloudConfig()
|
|
|
}
|
|
|
|
|
|
func main() {
|
|
@@ -29,7 +28,7 @@ func main() {
|
|
|
for {
|
|
|
time.Sleep(time.Duration(2) * time.Second)
|
|
|
|
|
|
- status, err := config.GetStatus(config.PlatformConfig.TaskConfigId)
|
|
|
+ status, err := commonConfig.GetStatus(commonConfig.PlatformConfig.TaskConfigId)
|
|
|
if err != nil {
|
|
|
c_log.GlobalLogger.Error("获取配置status失败:", err)
|
|
|
continue
|
|
@@ -43,7 +42,7 @@ func main() {
|
|
|
continue
|
|
|
} else if status == "CHANGE" || status == "NONE" {
|
|
|
if lastStatus == "CHANGE" && status == "CHANGE" {
|
|
|
- config.InitPlatformConfig()
|
|
|
+ commonConfig.InitPlatformConfig()
|
|
|
continue
|
|
|
}
|
|
|
if lastStatus == "NONE" && status == "NONE" {
|
|
@@ -51,27 +50,27 @@ func main() {
|
|
|
}
|
|
|
|
|
|
if lastStatus == "NONE" && status == "CHANGE" {
|
|
|
- if _, err := util.ExecuteWithPath(config.LocalConfig.RestartCmd.Dir, config.LocalConfig.RestartCmd.Name, config.LocalConfig.RestartCmd.Args...); err != nil {
|
|
|
- c_log.GlobalLogger.Info("启动新程序失败,【path】=", config.LocalConfig.RestartCmd.Dir, "【cmd】=", config.LocalConfig.RestartCmd.Name, config.LocalConfig.RestartCmd.Args, ":", err)
|
|
|
+ if _, err := util.ExecuteWithPath(commonConfig.LocalConfig.RestartCmd.Dir, commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args...); 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】=", config.LocalConfig.RestartCmd.Dir, "【cmd】=", config.LocalConfig.RestartCmd.Name, config.LocalConfig.RestartCmd.Args)
|
|
|
+ c_log.GlobalLogger.Info("启动任务,本地执行启动命令:【path】=", commonConfig.LocalConfig.RestartCmd.Dir, "【cmd】=", commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args)
|
|
|
lastStatus = status
|
|
|
c_log.GlobalLogger.Info("获取数据闭环平台最新配置。")
|
|
|
- config.InitPlatformConfig()
|
|
|
+ commonConfig.InitPlatformConfig()
|
|
|
continue
|
|
|
}
|
|
|
var killArgs service.KillSignal
|
|
|
if lastStatus == "UN_CHANGE" && status == "CHANGE" {
|
|
|
- killArgs = service.KillSignal{NodeName: config.LocalConfig.Node.Name, DropUploadData: config.PlatformConfig.DropUploadData, Restart: true}
|
|
|
- c_log.GlobalLogger.Info("更新任务,发送rpc重启信号到本地"+config.LocalConfig.Node.Name+":", killArgs)
|
|
|
+ killArgs = service.KillSignal{NodeName: commonConfig.LocalConfig.Node.Name, DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: true}
|
|
|
+ c_log.GlobalLogger.Info("更新任务,发送rpc重启信号到本地"+commonConfig.LocalConfig.Node.Name+":", killArgs)
|
|
|
}
|
|
|
if lastStatus == "UN_CHANGE" && status == "NONE" {
|
|
|
- killArgs = service.KillSignal{NodeName: config.LocalConfig.Node.Name, DropUploadData: config.PlatformConfig.DropUploadData, Restart: false}
|
|
|
- c_log.GlobalLogger.Info("杀死任务,发送rpc结束信号到本地"+config.LocalConfig.Node.Name+":", killArgs)
|
|
|
+ killArgs = service.KillSignal{NodeName: commonConfig.LocalConfig.Node.Name, DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: false}
|
|
|
+ c_log.GlobalLogger.Info("杀死任务,发送rpc结束信号到本地"+commonConfig.LocalConfig.Node.Name+":", killArgs)
|
|
|
}
|
|
|
|
|
|
- KillRpcClient, err := rpc.Dial("tcp", config.LocalConfig.Node.Ip+":"+config.CloudConfig.RpcPort)
|
|
|
+ KillRpcClient, err := rpc.Dial("tcp", commonConfig.LocalConfig.Node.Ip+":"+commonConfig.CloudConfig.RpcPort)
|
|
|
if err != nil {
|
|
|
|
|
|
lastStatus = "NONE"
|
|
@@ -88,7 +87,7 @@ func main() {
|
|
|
}
|
|
|
lastStatus = status
|
|
|
c_log.GlobalLogger.Info("结束任务后,将数据闭环平台配置置空。")
|
|
|
- config.PlatformConfig = config.PlatformConfigStruct{}
|
|
|
+ commonConfig.PlatformConfig = commonConfig.PlatformConfigStruct{}
|
|
|
if err = KillRpcClient.Close(); err != nil {
|
|
|
|
|
|
}
|