public class JobLaunchServiceImpl extends java.lang.Object implements JobLaunchService
JobLaunchService
.Constructor and Description |
---|
JobLaunchServiceImpl(JobPersistenceService jobPersistenceService,
JobResolverService jobResolverService,
AgentLauncher agentLauncher,
io.micrometer.core.instrument.MeterRegistry registry)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
launchJob(@Valid JobSubmission jobSubmission)
Launches a job on behalf of the user.
|
public JobLaunchServiceImpl(JobPersistenceService jobPersistenceService, JobResolverService jobResolverService, AgentLauncher agentLauncher, io.micrometer.core.instrument.MeterRegistry registry)
jobPersistenceService
- JobPersistenceService
implementation to save job datajobResolverService
- JobResolverService
implementation used to resolve job detailsagentLauncher
- AgentLauncher
implementation to launch agentsregistry
- MeterRegistry
metrics repository@Nonnull public java.lang.String launchJob(@Valid @Valid JobSubmission jobSubmission) throws AgentLaunchException, GenieJobResolutionException, IdAlreadyExistsException, SaveAttachmentException
Given the information submitted to Genie this service will attempt to run the job which will include: - Saving the job submission information including attachments - Resolving the resources needed to run the job and persisting them - Launching the agent
launchJob
in interface JobLaunchService
jobSubmission
- The payload of metadata and resources making up all the information needed to launch
a jobJobStatus.ACCEPTED
stateAgentLaunchException
- If the system was unable to launch an agent to handle job executionGenieJobResolutionException
- If the job, based on user input and current system state, can't be
successfully resolved for whatever reasonIdAlreadyExistsException
- If the unique identifier for the job conflicts with an already existing jobSaveAttachmentException
- When a job is submitted with attachments but there is an error saving them