When a Command fails, it is possible to set an action to occur. The following options are available:
Continue with Chain - This is the default setting. The Chain branching logic will take precedence based upon the Command link condition.
Exit Chain - Stop Chain execution when a particular Command fails. Do not follow any Command link condition of the Chain branching logic.
Pause Chain - Pause the Chain and continue after an external issue has been remediated. For example, OneCloud is expecting a file to exist before it can continue. As soon as the file is added, the Chain will resume. This feature can be a time-saver as the Chain execution simply resumes and does not need to start from the beginning. See Restarting Paused Chains for an example of this feature in action.
To configure error handling, edit a Command and select the error handling section of the Command form (marked by the alert icon in the top right):
Time-based conditions provide fine-grained controls to ensure Chain execution is more resilient from a variety of factors, including network and system outages. The following options are available:
Timeout - Set the number of seconds that a Command can run. This will prevent a Command for running more than a certain amount of time and can be helpful to stop a Command that should be running longer than it should.
Retry attempts - This setting can be useful to retry a Command if the source service might be intermittent or unavailable. For example, during nightly production runs, some services might not be online and it is necessary to add a few retry attempts after a certain amount of time.
Pause between attempts - This setting allows a time gap to be set (in seconds) between retries to ensure there is an adequate time gap.
You may choose to ignore particular error conditions by checking the associated condition that is relevant to that Command. It is sometimes necessary to ignore a certain result. For example, ignore an error of creating a file folder when it already exists.
Command Output Interpretation is a powerful way to provide a logical way to set the Command result status of Success, Warning, or Error. Leverage a combination of Workspace, Chain, Dynamic or Output variables to set the status of a Command. Note that logical operators can be rearranged and also include AND and OR operators as well as GROUP to set the order of operations.
Sometimes, scanning the output of the Command is necessary to determine if the task was a success or a failure. In some cases, this can be useful to manually trigger a failure (or success) if a certain output is found.