Choosing a Retry Method
Engage can re-run a failed execution in four ways. The same four appear in two places with different wording: the Retry Method field of a fallout definition, which sets how Engage retries a matching failure, and the Retry options on a fallout's page, which set how you retry one by hand. This page maps one to the other and helps you pick.
The four methods
| Fallout definition | Retry options on a fallout | What it does |
|---|---|---|
| Retry | Re-run the failed step | Runs the failed step again with the current data, keeping what the steps before it did |
| Restart | Run the whole workflow again | Runs every step from the start, resetting state and data to the original. Steps that send data to other systems run again. |
| Retry From Step | Run again from a step… | Runs a chosen step and every step after it, keeping the output of the steps before it. Not routed through a dedicated retry workflow. |
| Retry From Workflow | Send to a retry workflow… | Sends the fallout's data to a published retry workflow instead of the failed one |
The bulk retry on Global Fallout offers only Retry and Restart, which need nothing from the application.
Which to choose
- Use Retry when the failure was transient, such as a timeout, or when you have corrected the data and only the failed step needs to run again.
- Use Restart when the earlier steps' results can no longer be trusted, and every step is safe to run twice. A restart can duplicate whatever an earlier step sent to another system. Your edits to the data are not sent.
- Use Retry From Step when the fix belongs at an earlier step than the one that failed, so that step and everything after it should run again.
- Use Retry From Workflow when recovery is a different flow from the original, such as a clean-up or a compensating call, built and published as a retry workflow.
A Retry From Workflow definition can exist at organisation or application scope; if both match, the application-level one wins. See Fallout definitions.
What each needs
Retry and Restart need nothing beyond the application.
Retry From Step and Retry From Workflow need the application's manifest, because they use its workflows and steps. Without a manifest configuration both are disabled in the Retry Method field, and a new definition defaults to Retry instead of Retry From Step. The Manifest column in Global Fallout shows which fallouts have one. See Prepare an Application for Engage.
Retry From Workflow also needs at least one retry workflow, defined under Retry Workflows in the manifest in Studio and published.
In the fallout definition form
The Retry Method field changes which other fields appear:
| Retry Method | Fields shown |
|---|---|
| Retry, Restart, Retry From Step | Service Name (application scope only), Step Name, Retry From Step, and Retry Policy |
| Retry From Workflow | Retry Workflow instead, with a mapping between the fallout's payload and the workflow's input. Retry Policy is hidden, because a workflow retry runs its own flow and the policy is not applied. |
Each option has an information icon with a one-line description. See Fallout definitions.
In the retry options on a fallout
Choosing Run again from a step… adds a From step field. Choosing Send to a retry workflow… adds a Retry workflow field and one input for each path or query parameter that workflow declares. The option the fallout definition uses is selected for you and marked (recommended); if the definition's retry workflow is no longer published, Engage selects Re-run the failed step and says so.
See the retry workflows an application has
Select the application in Applications, then Configuration > Retry Workflows. The tab is a read-only list from the manifest:
| Column | Meaning |
|---|---|
| Name | The retry workflow's name |
| Workflow ID | Its identifier |
| Method | The HTTP method |
| Request Path | The request path |
| Status | Active or Inactive |
| Description | What it is for |
An empty list reads No retry workflows added in the manifest. To add or change one, edit the manifest in Studio and publish it; the list reflects the manifest.
When it does not work
| Symptom | Cause | What to do |
|---|---|---|
| Retry From Step and Retry From Workflow are greyed out | The application has no manifest configuration | Configure and publish the manifest in Studio, or use Retry or Restart |
| No published retry workflows found for this fallout | The manifest lists no retry workflow, or none is published | Add one under Retry Workflows in the Studio manifest and publish |
| Failed to load retry workflows | The list could not be fetched | Choose another option and try again later |