Error Handling For a Scatter Workflow

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