|
@@ -34,6 +34,7 @@ import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
|
|
|
import com.fdkankan.rabbitmq.bean.BuildSceneResultMqMessage;
|
|
|
import com.fdkankan.rabbitmq.util.RabbitMqProducer;
|
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
|
+import com.fdkankan.rubbersheeting.ScalingService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -90,6 +91,9 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
|
|
|
|
|
|
@Value("${4dkk.laserService.dir}")
|
|
|
private String laserDir;
|
|
|
+ @Value("${scaling.rule.extend.ari:#{null}}")
|
|
|
+ private String scalingExtendAri;
|
|
|
+
|
|
|
|
|
|
@Autowired
|
|
|
private RabbitMqProducer mqProducer;
|
|
@@ -139,10 +143,13 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
|
|
|
private ISceneBuildProcessLogService sceneBuildProcessLogService;
|
|
|
@Autowired
|
|
|
private ISceneColdStorageService sceneColdStorageService;
|
|
|
+ @Autowired
|
|
|
+ private ScalingService scalingService;
|
|
|
+ @Autowired
|
|
|
+ private RabbitMqProducer rabbitMqProducer;
|
|
|
|
|
|
@Override
|
|
|
- public void buildScenePre(BuildSceneCallMessage message) throws Exception{
|
|
|
- boolean success = false;
|
|
|
+ public void buildScenePre(BuildSceneCallMessage message){
|
|
|
String num = message.getSceneNum();
|
|
|
try {
|
|
|
//重新计算时需要删除文件夹,否知使用缓存
|
|
@@ -196,17 +203,21 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
|
|
|
|
|
|
message.getBuildContext().put("cameraType",message.getCameraType());
|
|
|
|
|
|
- // 判断企业是否配置了弹性伸缩
|
|
|
- if (message.getFlexibility() == 0) {
|
|
|
+ //查询是否超过比例50%,如果超过,则启动128G服务器弹性伸缩
|
|
|
+ Float maxRate = fdageJson.getFloat("maxRate");
|
|
|
+ if(Objects.nonNull(maxRate) && maxRate > 50){
|
|
|
//发送mq,就进行计算
|
|
|
- mqProducer.sendByWorkQueue(queueModelingCall, message);
|
|
|
- } else {
|
|
|
+ mqProducer.sendByWorkQueue(queueModelingCall.concat("-128G"), message);
|
|
|
+ int mqNum = rabbitMqProducer.getMessageCount(queueModelingCall.concat("-128G"));
|
|
|
+ if(mqNum > 0){
|
|
|
+ String result = scalingService.createEcs(scalingExtendAri);
|
|
|
+ log.info("createEcs-result:{}", result);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
//发送mq,就进行计算
|
|
|
- mqProducer.sendByWorkQueue(singleModelingCall, message);
|
|
|
+ mqProducer.sendByWorkQueue(queueModelingCall, message);
|
|
|
}
|
|
|
|
|
|
- success = true;
|
|
|
-
|
|
|
log.info("场景计算资源准备结束,场景码:{}", message.getSceneNum());
|
|
|
|
|
|
}catch (Exception e){
|