Event subscription retries
When implementing a message delivery system there are a few caveats that must be addressed in order to ensure stability, consistency, and good user experience. One of the shortcomings of a message delivery system is ensuring messages reach their destination successfully and knowing what to do when messages fail to arrive.
Some integrations can accept failure of delivery, and then drop the message and move to the next message. In other integrations, failure to deliver a message cannot be ignored. For example, a financial integration might attempt to deliver a message, but instead receives an HTTP status code of 404, which indicates the server could not find the endpoint to which the message was to be delivered. In such cases, a missing message could mean someone not being paid for their time or an organization going over budget on contracted resources.
Adobe Workfront Strategy for Event Subscription Retries
Because customers leverage the Workfront platform as a core piece of their daily knowledge work, the Workfront Event Subscription framework provides a mechanism to ensure that the delivery of each message is attempted to the fullest extent possible.
Event-triggered outbound messages that fail to be delivered to customer endpoints are resent until delivery is successful for up to a period of 48 hours. During this time, retries occur at an incrementally increased frequency until delivery is successful or until 11 attempts have been made.
The formula for these retry attempts is:
((2^attempt) - 1) * 84800ms
The first retry occurs after 1.5 minutes, second at almost 5 minutes, and 11th is at about 48 hours.
Customers need to ensure that any endpoints consuming outbound messages from Workfront Event Subscriptions are set up to return a 200-level response message back to Workfront when delivery is successful.
Disabled and frozen subscription rules
- A subscription URL is disabled if it has a failure rate over 70% with over 100 attempts OR if it has 2,000 consecutive failures
- A subscription URL is frozen if it has over 2,000 consecutive failures and the last success was over 72 hours ago OR if it has 50,000 consecutive failures in any timeframe.
- A disabled subscription URL will continue to attempt delivery every 10 minutes and become re-enabled with a successful delivery.
- A frozen subscription URL will never attempt delivery unless it is manually enabled by making an API request.