protected void runWithLock(boolean scheduleNext) throws IOException { int max = MAX_UPGRADE.get(); if (scheduleNext) { max++; } List<? extends ScheduledUpgrade> running = stackDao.getRunningUpgrades(); if (running.size() >= max) { return; } Set<Long> runningAccounts = running.stream() .map((x)-> x.getAccountId()) .collect(Collectors.toSet()); List<? extends ScheduledUpgrade> toRun = stackDao.getReadyUpgrades(runningAccounts, max-running.size()); for (ScheduledUpgrade upgrade : toRun) { processManager.scheduleProcessInstance("scheduledupgrade.start", upgrade, null); } }
.withChainProcessName(processManager.getStandardProcessName(StandardProcess.REMOVE, upgrade)); Account account = objectManager.loadResource(Account.class, upgrade.getAccountId()); Long delay = DataAccessor.fieldLong(account, AccountConstants.FIELD_SCHEDULED_UPGRADE_DELAY); if (delay == null) {
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.ScheduledUpgrade from) { setId(from.getId()); setAccountId(from.getAccountId()); setKind(from.getKind()); setUuid(from.getUuid()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setRunAfter(from.getRunAfter()); setData(from.getData()); setStackId(from.getStackId()); setStarted(from.getStarted()); setFinished(from.getFinished()); setPriority(from.getPriority()); }