Long Running Processes

Have your full business process in one place.

If you need the same Process to continue with some user interaction or long wait times between steps, it makes sense to have the Process wait for continuation instead of splitting it into separate Processes that have no common data shared between them. Long-running Processes are there for that purpose specifically.

Hold, please

Long-running Processes are sometimes called orchestrations or stateful workflows, where the execution might stop temporarily to wait for external processing. Unlike separate Processes, the Long Running Process remembers the state it was in and the data it needs to continue processing, so it can seamlessly continue from where it left.

Long Running Process can present a whole business process at once.

In order to make this happen in Frends, Checkpoint shapes can be used to store the Process data and pause the Process execution to allow for waiting for a specified duration, or indefinitely, until the external processing is finished and response received. The feature will not store all of the data available in the Process - only the data it needs to continue later, meaning any data that is actually used in the Process in a later stage.

As can be deducted, Long Running Processes use minimal resources while they are in the paused state, only consuming what is required to store the data the Process needs to continue later, in to a database.

Scheduled Resume dehydrating the Process until specified date.

Once the continuation event is received, the Agent loads the Process state from its storage and continues the Process execution from the Checkpoint. This resume event can be externally signaled from another Process by using a Signal Resume shape, or provided by a schedule timer within the same Process by using a Scheduled Resume shape. The scheduled resume event even allows iterative checking to see if conditions have been fulfilled by creating a shorter wait and checking in between if conditions match.

Using Scheduled Resume to poll condition and wait until condition is fulfilled.

Retry Later

Long Running Process shapes provides new possibilities for handling errors in your Processes as well. Checkpoint by default stores the state of the Process up to that point, and in case errors occur after it, the Process Instance is not lost, but stored in a paused state for resuming later.

Checkpoint provides state storing capabilities for error handling and recovery.

When resuming a paused Process manually, it's possible to view and adjust the content of the stored state, such as the data queried, in order to resolve the possible errors in handling said data. Without Long-Running Process capabilities, this would have resulted a support ticket, discussion with the data source's manager, fixing the data in the source system, and finally running the Process again. With LRP, the resolution can be achieved directly within Frends.

Data stored for the paused Process can be edited when manually resuming.

Even without requiring modification of data to solve errors in Processes, allowing the Process to resume later after some heavy and long processing being done but failing to a single error at the end will save countless hours as the whole Process will not need to be repeated again.

Last updated

Was this helpful?