|
@@ -182,6 +182,26 @@ func RunWaitingCluster() {
|
|
}
|
|
}
|
|
infra.GlobalLogger.Infof("偏移量【%v】加一给下个任务使用。", offsetKey)
|
|
infra.GlobalLogger.Infof("偏移量【%v】加一给下个任务使用。", offsetKey)
|
|
|
|
|
|
|
|
+ // ---------------
|
|
|
|
+ // ------- 解析 xosc ,从xosc中解析起终点位置&修改 xodr 和 osgb ---------------
|
|
|
|
+ xoscOssPath := firstTaskCache.Task.Scenario.ScenarioOsc
|
|
|
|
+ tempDir := "/mnt/disk001/dcl_dispatch_server/temp/"
|
|
|
|
+ util.CreateDir(tempDir)
|
|
|
|
+ xoscLocalPath := tempDir + util.NewShortUUID() + ".xosc"
|
|
|
|
+ if firstTaskCache.Env == "cicv" { // cicv 或 pji
|
|
|
|
+ err = infra.GlobalOssBucketCicv.GetObjectToFile(firstTaskCache.Task.Scenario.ScenarioOsc, xoscLocalPath)
|
|
|
|
+ } else {
|
|
|
|
+ err = infra.GlobalOssBucketPji.GetObjectToFile(firstTaskCache.Task.Scenario.ScenarioOsc, xoscLocalPath)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ infra.GlobalLogger.Errorf("下载xosc文件【%v】失败,错误信息为:%v", xoscOssPath, err)
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ s1, s2, s3, s4, xodrPath, osgbPath := util.ParseXosc(xoscLocalPath)
|
|
|
|
+ firstTaskCache.Task.Scenario.ScenarioOdr = xodrPath
|
|
|
|
+ firstTaskCache.Task.Scenario.ScenarioOsgb = osgbPath
|
|
|
|
+
|
|
// --------------- 发送 kafka 消息(获取偏移量和分区) ---------------
|
|
// --------------- 发送 kafka 消息(获取偏移量和分区) ---------------
|
|
// 获取任务消息转json
|
|
// 获取任务消息转json
|
|
// 将摄像头写死一个参数
|
|
// 将摄像头写死一个参数
|
|
@@ -300,28 +320,10 @@ func RunWaitingCluster() {
|
|
podString = strings.Replace(podString, "kafka-offset", "\""+util.ToString(offset)+"\"", -1)
|
|
podString = strings.Replace(podString, "kafka-offset", "\""+util.ToString(offset)+"\"", -1)
|
|
podString = strings.Replace(podString, "cpu-order", "\""+util.ToString(restParallelism-1)+"\"", -1) // cpu编号是剩余并行度-1
|
|
podString = strings.Replace(podString, "cpu-order", "\""+util.ToString(restParallelism-1)+"\"", -1) // cpu编号是剩余并行度-1
|
|
podString = strings.Replace(podString, "algorithm-container", algorithmContainer, -1)
|
|
podString = strings.Replace(podString, "algorithm-container", algorithmContainer, -1)
|
|
- // 从xosc中解析起终点位置
|
|
|
|
- xoscOssPath := firstTaskCache.Task.Scenario.ScenarioOsc
|
|
|
|
- tempDir := "/mnt/disk001/dcl_dispatch_server/temp/"
|
|
|
|
- util.CreateDir(tempDir)
|
|
|
|
- xoscLocalPath := tempDir + util.NewShortUUID() + ".xosc"
|
|
|
|
- if firstTaskCache.Env == "cicv" { // cicv 或 pji
|
|
|
|
- err = infra.GlobalOssBucketCicv.GetObjectToFile(firstTaskCache.Task.Scenario.ScenarioOsc, xoscLocalPath)
|
|
|
|
- } else {
|
|
|
|
- err = infra.GlobalOssBucketPji.GetObjectToFile(firstTaskCache.Task.Scenario.ScenarioOsc, xoscLocalPath)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if err != nil {
|
|
|
|
- infra.GlobalLogger.Errorf("下载xosc文件【%v】失败,错误信息为:%v", xoscOssPath, err)
|
|
|
|
- continue
|
|
|
|
- }
|
|
|
|
- {
|
|
|
|
- s1, s2, s3, s4 := util.GetStartAndEnd(xoscLocalPath)
|
|
|
|
- podString = strings.Replace(podString, "start-position-x", "\""+s1+"\"", -1)
|
|
|
|
- podString = strings.Replace(podString, "start-position-y", "\""+s2+"\"", -1)
|
|
|
|
- podString = strings.Replace(podString, "end-position-x", "\""+s3+"\"", -1)
|
|
|
|
- podString = strings.Replace(podString, "end-position-y", "\""+s4+"\"", -1)
|
|
|
|
- }
|
|
|
|
|
|
+ podString = strings.Replace(podString, "start-position-x", "\""+s1+"\"", -1)
|
|
|
|
+ podString = strings.Replace(podString, "start-position-y", "\""+s2+"\"", -1)
|
|
|
|
+ podString = strings.Replace(podString, "end-position-x", "\""+s3+"\"", -1)
|
|
|
|
+ podString = strings.Replace(podString, "end-position-y", "\""+s4+"\"", -1)
|
|
|
|
|
|
// --------------- 保存成文件
|
|
// --------------- 保存成文件
|
|
err = util.WriteFile(podString, yamlPath)
|
|
err = util.WriteFile(podString, yamlPath)
|
|
@@ -332,12 +334,12 @@ func RunWaitingCluster() {
|
|
}
|
|
}
|
|
infra.GlobalLogger.Infof("保存yaml文件到执行路径【%v】和备份路径【%v】", yamlPath, yamlPathBak)
|
|
infra.GlobalLogger.Infof("保存yaml文件到执行路径【%v】和备份路径【%v】", yamlPath, yamlPathBak)
|
|
// --------------- 启动 pod
|
|
// --------------- 启动 pod
|
|
- _, s2, err := util.Execute("kubectl", "apply", "-f", yamlPath)
|
|
|
|
|
|
+ _, sr, err := util.Execute("kubectl", "apply", "-f", yamlPath)
|
|
if err != nil {
|
|
if err != nil {
|
|
infra.GlobalLogger.Errorf("启动pod失败,执行结果为 %v,错误信息为 %v", s2, err)
|
|
infra.GlobalLogger.Errorf("启动pod失败,执行结果为 %v,错误信息为 %v", s2, err)
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
- infra.GlobalLogger.Errorf("启动pod成功,执行结果为 %v。", s2)
|
|
|
|
|
|
+ infra.GlobalLogger.Errorf("启动pod成功,执行结果为 %v。", sr)
|
|
// 收尾
|
|
// 收尾
|
|
{
|
|
{
|
|
// --------------- 添加到运行队列
|
|
// --------------- 添加到运行队列
|