public class JobLaunchServiceImpl extends java.lang.Object implements JobLaunchService
JobLaunchService.| Constructor and Description |
|---|
JobLaunchServiceImpl(DataServices dataServices,
JobResolverService jobResolverService,
AgentLauncherSelector agentLauncherSelector,
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(DataServices dataServices, JobResolverService jobResolverService, AgentLauncherSelector agentLauncherSelector, io.micrometer.core.instrument.MeterRegistry registry)
dataServices - The DataServices instance to usejobResolverService - JobResolverService implementation used to resolve job detailsagentLauncherSelector - AgentLauncher implementation to launch agentsregistry - MeterRegistry metrics repository@Nonnull
public java.lang.String launchJob(@Valid
@Valid JobSubmission jobSubmission)
throws AgentLaunchException,
com.netflix.genie.common.internal.exceptions.checked.GenieJobResolutionException,
IdAlreadyExistsException,
NotFoundException
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 JobLaunchServicejobSubmission - 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 executioncom.netflix.genie.common.internal.exceptions.checked.GenieJobResolutionException - 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 jobNotFoundException - When a resource that is expected to exist, like a job or a cluster, is not
found in the system at runtime for some reason