Jump to: navigation, search

Sahara/EDP Sequences DefineJobAndExecuteTxt

< Sahara
Revision as of 21:15, 17 July 2013 by Tmckay (talk | contribs) (Created page with " <nowiki> @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 n...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
@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