Common Workflow Language integration with Arvados » History » Revision 5
Revision 4 (Peter Amstutz, 08/08/2016 02:35 PM) → Revision 5/7 (Peter Amstutz, 08/08/2016 02:59 PM)
h1. Common Workflow Language integration with Arvados The main integration is @arvados-cwl-runner@. This tool is used both as a client to submit a job to run the workflow (@arvados-cwl-runner --submit@) and for running the workflow directly (@arvados-cwl-runner --local@). When the user starts a CWL workflow from workbench, it functions similar to @--submit@ mode. Because submit mode works by creating a "runner" job whose purpose is to manage execution of the workflow, it requires an @arvados/jobs@ Docker image with an up-to-date @arvados-cwl-runner@. When running a workflow: # The user submits a workflow, the workflow by running @arvados-cwl-runner@ or through workbench runner: # This creates an "workflow job" to run @arvados-cwl-runner@ in the @arvados/jobs@ image with the associated CWL workflow and workflow inputs as job inputs # The runner job is responsible for actually executing the workflow: ## Create a job for each workflow step (Job A) steps ## Submit the job to API server # submits it ## Wait # waits for the job it to complete ## Get # gets the output collection for the job ## Compute # computes the resulting CWL output object for the workflow step. ## Iterate over the workflow until all steps have been executed and final workflow output is available # Return the final result of the workflow !cwl-arvados-flow-submit.png!