public SingularityPendingRequestParent scheduleImmediately(SingularityUser user, String requestId, SingularityRunNowRequest runNowRequest, boolean minimalReturn) { final Optional<SingularityRunNowRequest> maybeRunNowRequest = Optional.fromNullable(runNowRequest); SingularityRequestWithState requestWithState = fetchRequestWithState(requestId, user); authorizationHelper.checkForAuthorization(requestWithState.getRequest(), user, SingularityAuthorizationScope.WRITE); checkConflict(requestWithState.getState() != RequestState.PAUSED, "Request %s is paused. Unable to run now (it must be manually unpaused first)", requestWithState.getRequest().getId()); final SingularityPendingRequest pendingRequest = validator.checkRunNowRequest( getAndCheckDeployId(requestId), user.getEmail(), requestWithState.getRequest(), maybeRunNowRequest, taskManager.getActiveTaskIdsForRequest(requestId), taskManager.getPendingTaskIdsForRequest(requestId)); SingularityCreateResult result = requestManager.addToPendingQueue(pendingRequest); checkConflict(result != SingularityCreateResult.EXISTED, "%s is already pending, please try again soon", requestId); if (minimalReturn) { return SingularityPendingRequestParent.minimalFromRequestWithState(requestWithState, pendingRequest); } else { return SingularityPendingRequestParent.fromSingularityRequestParent(fillEntireRequest(requestWithState), pendingRequest); } }
public SingularityPendingRequestParent scheduleImmediately(SingularityUser user, String requestId, SingularityRunNowRequest runNowRequest, boolean minimalReturn) { final Optional<SingularityRunNowRequest> maybeRunNowRequest = Optional.fromNullable(runNowRequest); SingularityRequestWithState requestWithState = fetchRequestWithState(requestId, user); authorizationHelper.checkForAuthorization(requestWithState.getRequest(), user, SingularityAuthorizationScope.WRITE); checkConflict(requestWithState.getState() != RequestState.PAUSED, "Request %s is paused. Unable to run now (it must be manually unpaused first)", requestWithState.getRequest().getId()); final SingularityPendingRequest pendingRequest = validator.checkRunNowRequest( getAndCheckDeployId(requestId), user.getEmail(), requestWithState.getRequest(), maybeRunNowRequest, taskManager.getActiveTaskIdsForRequest(requestId), taskManager.getPendingTaskIdsForRequest(requestId)); SingularityCreateResult result = requestManager.addToPendingQueue(pendingRequest); checkConflict(result != SingularityCreateResult.EXISTED, "%s is already pending, please try again soon", requestId); if (minimalReturn) { return SingularityPendingRequestParent.minimalFromRequestWithState(requestWithState, pendingRequest); } else { return SingularityPendingRequestParent.fromSingularityRequestParent(fillEntireRequest(requestWithState), pendingRequest); } }