|
@@ -258,7 +258,7 @@ public class ProjectConsumer {
|
|
|
}
|
|
|
}
|
|
|
taskManager.batchInsertTask(taskList);
|
|
|
- log.info("createTaskAndFixData() 项目 " + projectId + " 共有" + taskList.size() + "个任务,已保存到数据库");
|
|
|
+ log.info("createTaskAndFixData() 项目 " + projectId + " 共有 " + taskList.size() + " 个任务,已保存到数据库");
|
|
|
} else if ("2".equals(modelType)) {
|
|
|
log.info("createTaskAndFixData() 项目 " + projectId + " 开始查询模型。");
|
|
|
|
|
@@ -310,7 +310,6 @@ public class ProjectConsumer {
|
|
|
String xoscPathOfMinio = projectResultPathOfMinio + projectId + "/" + taskId + "/" + taskId + "." + xoscSuffix;
|
|
|
MinioUtil.downloadToFile(minioClient, bucketName, scenarioOsc, xoscPathOfLinux);
|
|
|
MinioUtil.uploadFromFile(minioClient, xoscPathOfLinux, bucketName, xoscPathOfMinio);
|
|
|
- log.info("cacheManualProject() 已经将 xosc 上传到 minio 的结果文件目录:" + xoscPathOfMinio);
|
|
|
|
|
|
String scenarioOdr = scenePO.getScenarioOdr();
|
|
|
String[] splitXodr = scenarioOdr.split("/");
|
|
@@ -321,7 +320,6 @@ public class ProjectConsumer {
|
|
|
String xodrPathOfMinio = projectResultPathOfMinio + projectId + "/" + taskId + "/" + taskId + "." + xodrSuffix;
|
|
|
MinioUtil.downloadToFile(minioClient, bucketName, scenarioOdr, xodrPathOfLinux);
|
|
|
MinioUtil.uploadFromFile(minioClient, xodrPathOfLinux, bucketName, xodrPathOfMinio);
|
|
|
- log.info("cacheManualProject() 已经将 xodr 上传到 minio 的结果文件目录:" + xodrPathOfMinio);
|
|
|
|
|
|
String scenarioOsgb = scenePO.getScenarioOsgb();
|
|
|
String[] splitOsgb = scenarioOsgb.split("/");
|
|
@@ -332,7 +330,7 @@ public class ProjectConsumer {
|
|
|
String osgbPathOfMinio = projectResultPathOfMinio + projectId + "/" + taskId + "/" + taskId + "." + osgbSuffix;
|
|
|
MinioUtil.downloadToFile(minioClient, bucketName, scenarioOsgb, osgbPathOfLinux);
|
|
|
MinioUtil.uploadFromFile(minioClient, osgbPathOfLinux, bucketName, osgbPathOfMinio);
|
|
|
- log.info("cacheManualProject() 已经将 osgb 上传到 minio 的结果文件目录:" + osgbPathOfMinio);
|
|
|
+ log.info("cacheManualProject() 已经将 xosc、xodr、osgb 上传到 minio 的结果文件目录:" + projectResultPathOfMinio);
|
|
|
|
|
|
// 组装 task 消息
|
|
|
// carsim 不需要查询模型参数
|
|
@@ -365,7 +363,7 @@ public class ProjectConsumer {
|
|
|
}
|
|
|
}
|
|
|
taskManager.batchInsertTask(taskList);
|
|
|
- log.info("createTaskAndFixData() 项目 " + projectId + " 共有" + taskList.size() + "个任务,已保存到数据库");
|
|
|
+ log.info("createTaskAndFixData() 项目 " + projectId + " 共有 " + taskList.size() + " 个任务,已保存到数据库");
|
|
|
}
|
|
|
|
|
|
//* -------------------------------- 4 开始排队 --------------------------------
|
|
@@ -522,7 +520,7 @@ public class ProjectConsumer {
|
|
|
ApacheKafkaUtil.createTopic(kafkaAdminClient, projectId, realCurrentParallelism, (short) 1); // 创建主题
|
|
|
TimeUnit.SECONDS.sleep(7);
|
|
|
// 需要即时启动的任务(并行度的大小)
|
|
|
- CopyOnWriteArrayList<String> yamlListToRun = new CopyOnWriteArrayList<>();
|
|
|
+ CopyOnWriteArrayList<String> yamlToRunRedisKeyList = new CopyOnWriteArrayList<>();
|
|
|
for (String taskJsonPath : taskJsonList) {
|
|
|
String taskId = FileUtil.getFilenameWithoutSuffix(taskJsonPath);
|
|
|
//TODO 设置任务重试次数为 0,方便任务进行最大3次的重试。
|
|
@@ -567,19 +565,19 @@ public class ProjectConsumer {
|
|
|
|
|
|
log.info("parseProject() 项目 " + projectId + " 准备创建 yaml:是否使用 gpu " + isChoiceGpu + ",当前节点名称为:" + currentNodeName + ",当前节点已创建 yaml 个数为:" + currentCount + ",当前 cpu 编号为:" + cpuOrder);
|
|
|
// 只有准备启动(即 currentCount == 0)的时候才指定 cpu 编号
|
|
|
- String tempYaml = projectManager.createTempYaml(projectId, vehicleConfigId, modelType, algorithmDockerImage, currentNodeName, partition, offset, isChoiceGpu, currentCount, cpuOrder);
|
|
|
+ String yamlRedisKey = projectManager.createTempYaml(projectId, vehicleConfigId, modelType, algorithmDockerImage, currentNodeName, partition, offset, isChoiceGpu, currentCount, cpuOrder);
|
|
|
if (currentCount == 0) {
|
|
|
- log.info("parseProject() 加入到启动列表 " + tempYaml);
|
|
|
- yamlListToRun.add(tempYaml);
|
|
|
+ log.info("parseProject() 加入到启动列表 " + yamlRedisKey);
|
|
|
+ yamlToRunRedisKeyList.add(yamlRedisKey);
|
|
|
}
|
|
|
messageNumber++;
|
|
|
}
|
|
|
TimeUnit.SECONDS.sleep(6);
|
|
|
- log.info("parseProject() 项目 " + projectId + " 共发送了 " + messageNumber + " 条消息。 准备首先启动 " + yamlListToRun);
|
|
|
- for (String yaml : yamlListToRun) {
|
|
|
- projectUtil.createPod2(yaml);
|
|
|
+ log.info("parseProject() 项目 " + projectId + " 共发送了 " + messageNumber + " 条消息,准备首先启动 " + yamlToRunRedisKeyList);
|
|
|
+ for (String redisKey : yamlToRunRedisKeyList) {
|
|
|
+ projectUtil.createPod3(redisKey);
|
|
|
}
|
|
|
- log.info("parseProject() 项目 " + projectId + " 已经启动 " + yamlListToRun);
|
|
|
+ log.info("parseProject() 项目 " + projectId + " 已经启动 " + yamlToRunRedisKeyList);
|
|
|
}
|
|
|
|
|
|
|