|
|
|
@@ -143,33 +143,38 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService { |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void update(String taskType, Long taskId, Long taskInsId, Integer computingResourceId, Integer replicas) { |
|
|
|
ResourceOccupy resourceOccupy = resourceOccupyDao.getResourceOccupyByTask(taskType, taskId, taskInsId, null).get(0); |
|
|
|
ComputingResource oldComputingResource = computingResourceDao.queryById(resourceOccupy.getComputingResourceId()); |
|
|
|
ComputingResource computingResource = computingResourceDao.queryById(computingResourceId); |
|
|
|
public void update(String taskType, Long taskId, Long taskInsId, Integer computingResourceId, Integer replicas, String taskName) { |
|
|
|
List<ResourceOccupy> resourceOccupyList = resourceOccupyDao.getResourceOccupyByTask(taskType, taskId, taskInsId, null); |
|
|
|
if (resourceOccupyList.isEmpty()) { |
|
|
|
startDeduce(computingResourceId, replicas, taskType, taskId, taskInsId, null, taskName, null, Constant.State_building); |
|
|
|
} else { |
|
|
|
ResourceOccupy resourceOccupy = resourceOccupyList.get(0); |
|
|
|
ComputingResource oldComputingResource = computingResourceDao.queryById(resourceOccupy.getComputingResourceId()); |
|
|
|
ComputingResource computingResource = computingResourceDao.queryById(computingResourceId); |
|
|
|
|
|
|
|
int occupy_num = (int) (resourceOccupy.getCreditPerHour() / oldComputingResource.getCreditPerHour()); |
|
|
|
int occupy_num = (int) (resourceOccupy.getCreditPerHour() / oldComputingResource.getCreditPerHour()); |
|
|
|
|
|
|
|
if (Constant.Computing_Resource_GPU.equals(oldComputingResource.getComputingResource())) { |
|
|
|
resourceOccupyDao.updateUnUsed(oldComputingResource.getResourceId(), oldComputingResource.getGpuNums() * occupy_num); |
|
|
|
} else { |
|
|
|
resourceOccupyDao.updateUnUsed(oldComputingResource.getResourceId(), computingResource.getCpuCores() * occupy_num); |
|
|
|
} |
|
|
|
if (Constant.Computing_Resource_GPU.equals(oldComputingResource.getComputingResource())) { |
|
|
|
resourceOccupyDao.updateUnUsed(oldComputingResource.getResourceId(), oldComputingResource.getGpuNums() * occupy_num); |
|
|
|
} else { |
|
|
|
resourceOccupyDao.updateUnUsed(oldComputingResource.getResourceId(), computingResource.getCpuCores() * occupy_num); |
|
|
|
} |
|
|
|
|
|
|
|
if (Constant.Computing_Resource_GPU.equals(computingResource.getComputingResource())) { |
|
|
|
resourceOccupyDao.updateUsed(computingResource.getResourceId(), computingResource.getGpuNums() * replicas); |
|
|
|
} else { |
|
|
|
resourceOccupyDao.updateUsed(computingResource.getResourceId(), computingResource.getCpuCores() * replicas); |
|
|
|
} |
|
|
|
if (Constant.Computing_Resource_GPU.equals(computingResource.getComputingResource())) { |
|
|
|
resourceOccupyDao.updateUsed(computingResource.getResourceId(), computingResource.getGpuNums() * replicas); |
|
|
|
} else { |
|
|
|
resourceOccupyDao.updateUsed(computingResource.getResourceId(), computingResource.getCpuCores() * replicas); |
|
|
|
} |
|
|
|
|
|
|
|
if (replicas > 1) { |
|
|
|
resourceOccupy.setDescription(replicas + " * [" + computingResource.getDescription() + "]"); |
|
|
|
} else { |
|
|
|
resourceOccupy.setDescription(computingResource.getDescription()); |
|
|
|
if (replicas > 1) { |
|
|
|
resourceOccupy.setDescription(replicas + " * [" + computingResource.getDescription() + "]"); |
|
|
|
} else { |
|
|
|
resourceOccupy.setDescription(computingResource.getDescription()); |
|
|
|
} |
|
|
|
resourceOccupy.setCreditPerHour(computingResource.getCreditPerHour() * replicas); |
|
|
|
resourceOccupy.setComputingResourceId(computingResourceId); |
|
|
|
resourceOccupyDao.edit(resourceOccupy); |
|
|
|
} |
|
|
|
resourceOccupy.setCreditPerHour(computingResource.getCreditPerHour() * replicas); |
|
|
|
resourceOccupy.setComputingResourceId(computingResourceId); |
|
|
|
resourceOccupyDao.edit(resourceOccupy); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
|