Package com.netflix.genie.web.services
Interface JobResolverService
- All Known Implementing Classes:
JobResolverServiceImpl
@Validated
public interface JobResolverService
Service API for taking inputs from a user and resolving them to concrete information that the Genie system will use
to execute the users job.
- Since:
- 4.0.0
-
Method Summary
Modifier and TypeMethodDescriptionresolveJob
(String id) Given the id of a job that was successfully submitted to the system this API will attempt to resolve all the concrete details (cluster, command, resources, etc) needed for the system to actually launch the job.resolveJob
(String id, @Valid JobRequest jobRequest, boolean apiJob) Given a job request resolve all the details needed to run a job.
-
Method Details
-
resolveJob
@Nonnull ResolvedJob resolveJob(String id) throws GenieJobResolutionException, GenieJobResolutionRuntimeException Given the id of a job that was successfully submitted to the system this API will attempt to resolve all the concrete details (cluster, command, resources, etc) needed for the system to actually launch the job. Once these details are determined they are persisted and the job is marked asJobStatus.RESOLVED
.- Parameters:
id
- The id of the job to resolve. The job must exist and its status must return true fromJobStatus
#isResolvable()- Returns:
- A
ResolvedJob
instance containing all the concrete information needed to execute the job - Throws:
GenieJobResolutionException
- When the job cannot resolved due to unsatisfiable constraintsGenieJobResolutionRuntimeException
- When the job fails to resolve due to a runtime error.
-
resolveJob
@Nonnull ResolvedJob resolveJob(String id, @Valid @Valid JobRequest jobRequest, boolean apiJob) throws GenieJobResolutionException, GenieJobResolutionRuntimeException Given a job request resolve all the details needed to run a job. This API is stateless and saves nothing.- Parameters:
id
- The id of the jobjobRequest
- The job request containing all details a user wants to have for their jobapiJob
- true if this job was submitted via the REST API. false otherwise.- Returns:
- The completely resolved job information within a
ResolvedJob
instance - Throws:
GenieJobResolutionException
- When the job cannot resolved due to unsatisfiable constraintsGenieJobResolutionRuntimeException
- When the job fails to resolve due to a runtime error.
-