Handle Timeouts

Including in the Flow

During processing of a flow various other components are called, for example other external domains (via an action) or other flows (via a flow call). When these do not reply as expected, IPF provides the capability to add a timeout to your flow so that you can then perform custom compensation processing.

To add a timeout step, we can simply choose as the received event either an "Action Timeout" or a "Flow Timeout". Depending on which is chosen, you must then select the appropriate action or flow that it relates to:

handle timeouts 1

From here we can add any processing just like a normal event.

Flow timeouts are considered at runtime as action timeouts. So when using flo-to-flo in this way a flow timeout will result in an ActionTimeoutEvent with the action name of Call<FlowName>.

Applying a mapping function

As part of the timeout it is also possible to apply a mapping function to allow us to enrich the aggregate data. To do this, we open the inspector panel and choose the mapping function we want to apply:

handle timeouts 2

Applying a custom reason code

In some circumstances you may wish to apply a custom reason code to the timeout. This can also be done via the inspector. This reason code and it’s selected text will then be applied onto the resulting ActionTimeoutEvent.