I currently have a simple scatter workflow with 4 cwl actors steps. I pass to this scatter workflow an input with several thousand entries in order to run the entire workflow on each entry. Step 3 is expected to produce a pred.tab file that is then passed to the final CWL actor. Currently, it is not a guarantee that the software called by step 3’s cwl actor will run to completion. If it doesn’t, no pred.tab file is created which is expected for step 4. How do I configure the workflow so that if the “pred.tab” file in step 3 isn’t created that step 4 doesn’t crash the entire scatter workflow? I would simply like it to skip this pass through the workflow.
In your case I would add the likely exit codes to the succesCodes
list and mark all the outputs as being optional by appending a ?
to solo type declarations (type: File
-›type: File?
) or inserting null
into the list of types in the more complicated situation (type: [ File, Directory ]
-› type: [ File, Directory, 'null' ]
.
https://www.commonwl.org/v1.0/CommandLineTool.html#CommandLineTool