Sahara/EDP Sequences DefineJobAndExecuteTxt
< Sahara
@startuml actor client participant "Job Manager Comp" as JM participant "Job Source Comp" as JS participant "Savanna DB" as DB participant "Job Code Storage" as JC note right JC This could be a mechanism completely outside of savanna such as <b>git</b> or <b>svn</b>. If the internal savanna db is used to store raw job code, there probably is another API for writing the raw code to the savanna db. end note client --> JS: POST Add job source JS --> DB: Store source type\n and location DB --> JS: Success JS --> client: JSON job source object note right This may contain some id for the job source object end note client --> JC: Write job source code note right At some point the raw job code must be written to the job code storage end note client --> JM: POST Create job note right Job creation includes an identifer for a job source object. This job source object identifier is stored with the job object. The Job Manager component needs some method to combine information in the job object (name, type, additional path information?) with the job source object to produce a unique locator for the raw job code. end note JM --> client: JSON job object note right This has the job id filled in end note client --> JM: POST Get list of jobs note right Maybe the client has multiple jobs at this point, so it asks for a list end note JM --> client: JSON job list client --> JM: POST Execute job note right The job is specified by id end note JM --> JS: Request the job source object JS --> JM: Return the object JM --> JM: Generate unique locator based on\n the job object and job source object JM --> JC: Request the raw job code JC --> JM: Return the code JM --> JM: Configure the job for the specified data sources JM ->]: Submit to cluster JM --> client: JSON job execution object @enduml