Registration
Navigate to Admin / Application Data / Submitters and click on "Create Submitter". Select the submitter executable, modify the parameter setting and click on "Save".Programflow of a Submitter
- all executables are executed with the commandlineoption -j followed by the externaljobid
- read the externaljob and check if the action is SUBMIT: If not, this is not a job for the submitter
- set status to "running"
- read cliententityclassname (submitter usually work with workunit)
- read cliententityid
- get the entity which is referenced by cliententityclassname (usually "workunit") and cliententityid
- parse the id(s) of the workunitexecutable(s) (can be more than one!)
- get the executables referenced by the workunitexecutable id(s) from B-Fabric (SOAP)
- decode them and prepare them for submission (put them on the filesystem)
- read the parameters of context SUBMITTER from B-Fabric (SOAP)
- go via the parameter endpoint and search for the parameters of the workunit (id) with context "SUBMITTER"
- or get all parameter via the ids from the workunit and use only the ones with context "SUBMITTER"
- get the externaljobs of the executable from B-Fabric (SOAP)
- use endpoint externaljob with executableid (workunitexecutable have only one externaljob referenced)
- or get from endpoint externaljob all with "cliententityclassname" "Workunit" and "cliententityid" of the workunit.
- (Execution) submit the executables and set the external job of the executable to status "running"
- if the submit needs options, use the parameters of context "SUBMITTER"
- tell the externaljob (B-Fabric SOAP) what you have done (logthis)
- the status of the externaljob can be set to any value and can be used to give feedback
- only status "done" and "failed" have a meaning for B-Fabric to set status of the Workunit.
- on execution finish, update the status of the corresponding externaljob to "done" or "failed" depending on the exit code.
- decide weather the submitter ran successfully or not and set the submitters externaljob to "failed" or "done".
Remarks
As the submitter is responsible for execution on different platforms, B-Fabric will have several different submitters installed.Examples:
- execution via Gridengine
- execution on specific host (e.g. via ssh)
- execution on Amazon Nodes
We try to build a library, package or similar to ease the creation of a submitter.