Serializing Forge events (trigger) consumption

Hello there :slight_smile:

When subscribing to Forge events, a callback function is defined.

The problem

When multiple events are fired, there is no synchronization of the events or their callback function handling. Each event is fired individually and potentially in different executions contexts (different AWS lambda).

Example: Jira issue update event

Given a Jira issue
When multiple events are fired sequentially for the same issue as consequence of update actions
Then the app must handle the events in the same order as the update actions

This requirement does not sound unreasonable to me, yet I find it quite hard to fulfill given the tools we are given in Forge.
The imperfect solution I ended up with was to store events payload in a FIFO queue persisted using Forge storage (Synchronization process for Forge apps).

Question

Is there a built-in Forge serial queue which can be used ?
Can you provide guidance on how to serialize handling of Forge events ?
I wish there were an option to get a Serial Forge events queue (https://developer.atlassian.com/platform/forge/runtime-reference/async-events-api/).

Thank you for your time, looking forward to get clarity on this matter :thinking:.

2 Likes