Acknowledging and Retrying Events

The events-checkpoint node is supported in Flows version 3.0 or later. If you have used the events-checkpoint node and subsequently downgrade to an older version of Flows, your flows lose event acknowledgement and retry capabilities, and receive events from the supervisor proxy instead.

With the events-checkpoint node you can add checkpoints to your flows. At these checkpoints you can define the action to take in case an event fails. Currently the events-checkpoint node supports the following actions:

 

Completed Setup - Acknowledges that the flow's events have been executed successfully up to this point. If there are any failures later in this flow, the flow's events must not be reprocessed. Use this option if there are actions in your flow that should not be executed twice, like making a payment.
Done - Acknowledges that the flow's events have been executed successfully and marks the event as completed.
Failed - Marks an event as failed so that the event can be retried.

To edit the events-checkpoint node, double click on the node in the Flow Editor. The Edit events-checkpoint node dialog box opens.

From the Edit events-checkpoint node dialog box you can select one of the supported actions:

When using the events-checkpoint node, consider the following use cases:

 

The msg object's _eventId property is used internally to track an event as it is processed. If you override the msg object at any point, make sure you copy over the _eventId property from the original msg object. Otherwise, the Flows system might regard the event as "lost", time the event out, and attempt to reprocess it.
Although the Flows nodes have been updated to support keeping events alive, if you use the keepAlive method in your function nodes, update your code to pass in the msg object as the last argument. For example: keepAlive(30, msg).