Interface JobLaunchService

All Known Implementing Classes:
JobLaunchServiceImpl

@Validated public interface JobLaunchService
Top level coordination service responsible for taking a job request and running the job if possible.
Since:
4.0.0
  • Method Summary

    Modifier and Type
    Method
    Description
    launchJob(@Valid JobSubmission jobSubmission)
    Launches a job on behalf of the user.
  • Method Details

    • launchJob

      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

      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 execution
      GenieJobResolutionException - If the job, based on user input and current system state, can't be successfully resolved for whatever reason
      NotFoundException - 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
      IdAlreadyExistsException - If the unique identifier for the job conflicts with an already existing job
      SaveAttachmentException - When a job is submitted with attachments but there is an error saving them