Class JobLaunchServiceImpl
- java.lang.Object
-
- com.netflix.genie.web.services.impl.JobLaunchServiceImpl
-
- All Implemented Interfaces:
JobLaunchService
public class JobLaunchServiceImpl extends java.lang.Object implements JobLaunchService
Default implementation of theJobLaunchService
.- Since:
- 4.0.0
-
-
Constructor Summary
Constructors Constructor Description JobLaunchServiceImpl(DataServices dataServices, JobResolverService jobResolverService, AgentLauncherSelector agentLauncherSelector, BraveTracingComponents tracingComponents, io.micrometer.core.instrument.MeterRegistry registry)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
launchJob(@Valid JobSubmission jobSubmission)
Launches a job on behalf of the user.
-
-
-
Constructor Detail
-
JobLaunchServiceImpl
public JobLaunchServiceImpl(DataServices dataServices, JobResolverService jobResolverService, AgentLauncherSelector agentLauncherSelector, BraveTracingComponents tracingComponents, io.micrometer.core.instrument.MeterRegistry registry)
Constructor.- Parameters:
dataServices
- TheDataServices
instance to usejobResolverService
-JobResolverService
implementation used to resolve job detailsagentLauncherSelector
-AgentLauncher
implementation to launch agentstracingComponents
-BraveTracingComponents
instance to use to get access to instrumentationregistry
-MeterRegistry
metrics repository
-
-
Method Detail
-
launchJob
@Nonnull public java.lang.String launchJob(@Valid @Valid JobSubmission jobSubmission) throws AgentLaunchException, GenieJobResolutionException, IdAlreadyExistsException, NotFoundException
Launches a job on behalf of the user.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
- Specified by:
launchJob
in interfaceJobLaunchService
- Parameters:
jobSubmission
- The payload of metadata and resources making up all the information needed to launch a job- Returns:
- The id of the job. Upon return the job will at least be in
JobStatus.ACCEPTED
state - Throws:
AgentLaunchException
- 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 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
-
-