Automatic Error Retries
The system has a config setting for defining errors that are to be automatically retried by the system:
For defined retryable errors, the system will automatically retry the failed trigger data row up to 10 times according to this schedule:
- 15 seconds
- 30 seconds
- 1 minute
- 2 minutes
- 5 minutes
- 10 minutes
- 30 minutes
- 1 hour
- 2 hours
- 4 hours
By default, the system's retryable errors include:
- When an HTTP Transaction module or OAuth Transaction module, or any of their variants, returns an HTTP status code >= 500 and the module is configured to halt the assembly upon errors
- When an HTTP Transaction module or OAuth Transaction module, or any of their variants, encounters a communication-level error occurs before the API can send a response and the module is configured to halt the assembly upon errors
The "halt assembly if error" setting is found here:
The automation's action must also be configured to "halt on any error" in order for the system to auto-retry any retryable errors:
Generally, only transient errors are configured to be retryable, where it makes sense that the failed transaction might succeed after waiting for some time.
The system retries failed transactions at the point of failure in the automation’s logic.
If an automation uses a subroutine and that subroutine encounters a retryable error, the system is able to retry the error from that point and continue processing if the failed action no longer encounters an error.
If an automation executes a child automation via the System app's "execute automation" action and that child automation encounters a retryable error, the retry occurs from the parent automation, not the child.
This means that the retry processing does not pick up where it left off. The parent automation will re-run the child automation from its beginning.