| @@ -40,7 +40,7 @@ public class ResourceOccupyTask { | |||||
| private JupyterService jupyterService; | private JupyterService jupyterService; | ||||
| // 开发环境功能扣除积分 | // 开发环境功能扣除积分 | ||||
| @Scheduled(cron = "0/10 * * * * ?") | |||||
| @Scheduled(cron = "0 0/1 * * * ?") // 每1分钟执行一次 | |||||
| public void devDeduceCredit() throws Exception { | public void devDeduceCredit() throws Exception { | ||||
| List<DevEnvironment> devEnvironments = devEnvironmentDao.getRunning(); | List<DevEnvironment> devEnvironments = devEnvironmentDao.getRunning(); | ||||
| for (DevEnvironment devEnv : devEnvironments) { | for (DevEnvironment devEnv : devEnvironments) { | ||||
| @@ -60,7 +60,7 @@ public class ResourceOccupyTask { | |||||
| } | } | ||||
| // 服务功能扣除积分 | // 服务功能扣除积分 | ||||
| @Scheduled(cron = "0/10 * * * * ?") | |||||
| @Scheduled(cron = "0 0/1 * * * ?") // 每1分钟执行一次 | |||||
| public void serviceDeduceCredit() { | public void serviceDeduceCredit() { | ||||
| List<ServiceVersion> serviceVersions = serviceDao.getRunning(); | List<ServiceVersion> serviceVersions = serviceDao.getRunning(); | ||||
| List<String> deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList()); | List<String> deploymentNames = serviceVersions.stream().map(ServiceVersion::getDeploymentName).collect(Collectors.toList()); | ||||
| @@ -114,6 +114,7 @@ public class ResourceOccupyServiceImpl implements ResourceOccupyService { | |||||
| } | } | ||||
| Double hours = (double) timeDifferenceMillis / (1000 * 60 * 60); | Double hours = (double) timeDifferenceMillis / (1000 * 60 * 60); | ||||
| Double deduceCredit = resourceOccupy.getCreditPerHour() * hours; | Double deduceCredit = resourceOccupy.getCreditPerHour() * hours; | ||||
| deduceCredit = deduceCredit > 0 ? deduceCredit : 0.01; | |||||
| double deduceCreditTrun = new BigDecimal(deduceCredit).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | double deduceCreditTrun = new BigDecimal(deduceCredit).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | ||||
| deduceCreditTrun = deduceCreditTrun > 0 ? deduceCreditTrun : 0.01; | deduceCreditTrun = deduceCreditTrun > 0 ? deduceCreditTrun : 0.01; | ||||
| resourceOccupyDao.deduceCredit(deduceCreditTrun, resourceOccupy.getUserId()); | resourceOccupyDao.deduceCredit(deduceCreditTrun, resourceOccupy.getUserId()); | ||||
| @@ -39,6 +39,7 @@ public class DVCUtils { | |||||
| @Value("${proxy.port}") | @Value("${proxy.port}") | ||||
| private Integer port; | private Integer port; | ||||
| private class ProxyConfigCallback implements TransportConfigCallback { | private class ProxyConfigCallback implements TransportConfigCallback { | ||||
| @Override | @Override | ||||
| public void configure(Transport transport) { | public void configure(Transport transport) { | ||||
| @@ -259,6 +260,7 @@ public class DVCUtils { | |||||
| log.error("Error occurred while creating local branch", e); | log.error("Error occurred while creating local branch", e); | ||||
| } | } | ||||
| } | } | ||||
| /** | /** | ||||
| * 删除本地分支 | * 删除本地分支 | ||||
| * | * | ||||
| @@ -440,17 +442,19 @@ public class DVCUtils { | |||||
| .forEach(ref -> { | .forEach(ref -> { | ||||
| String fullBranchName = ref.getName(); | String fullBranchName = ref.getName(); | ||||
| String branchName = fullBranchName.replace("refs/remotes/origin/", ""); | String branchName = fullBranchName.replace("refs/remotes/origin/", ""); | ||||
| try { | |||||
| completionService.submit(() -> { | |||||
| try { | |||||
| processBranch(git, repository, credentialsProvider, fullBranchName, branchName); | |||||
| } catch (Exception e) { | |||||
| log.error("Failed to process branch: " + branchName, e); | |||||
| } | |||||
| return null; | |||||
| }); | |||||
| } catch (Exception e) { | |||||
| log.error("Task submission rejected", e); | |||||
| if ("master".equals(branchName)) { | |||||
| try { | |||||
| completionService.submit(() -> { | |||||
| try { | |||||
| processBranch(git, repository, credentialsProvider, fullBranchName, branchName); | |||||
| } catch (Exception e) { | |||||
| log.error("Failed to process branch: " + branchName, e); | |||||
| } | |||||
| return null; | |||||
| }); | |||||
| } catch (Exception e) { | |||||
| log.error("Task submission rejected", e); | |||||
| } | |||||
| } | } | ||||
| }); | }); | ||||
| @@ -523,8 +527,6 @@ public class DVCUtils { | |||||
| } | } | ||||
| public void gitFetch(String localPath, String username, String password) throws IOException, GitAPIException { | public void gitFetch(String localPath, String username, String password) throws IOException, GitAPIException { | ||||
| FileRepositoryBuilder builder = new FileRepositoryBuilder(); | FileRepositoryBuilder builder = new FileRepositoryBuilder(); | ||||
| Repository repository = builder.setGitDir(new File(localPath, ".git")) | Repository repository = builder.setGitDir(new File(localPath, ".git")) | ||||