Message Retries
Message retries are a critical mechanism within SyncHive to ensure data integrity and prevent loss. It's essential for Connectors to understand both how SyncHive manages retries and the strategies Connectors can employ when they encounter situations necessitating a retry.
The SyncHive Retry Mechanism
SyncHive employs an automatic retry strategy for Messages that fail to reach their intended Connector destination. These Messages are retried at variable times over a span of 48 hours. Beyond this period, the responsibility shifts to the end-user to initiate any further retries for Messages that remain undelivered.
Implementing Connector-Specific Retries
There are instances where a Connector, upon receiving a Message from SyncHive, encounters an issue in processing or saving the Message to its designated external system. In such scenarios, the Connector has the option to request SyncHive to resend the Message.
Example Scenario
Consider a scenario where a Connector receives a Product Message from SyncHive but fails to properly process or save this Message to the external system due to an error. The Connector can signal SyncHive to attempt the Message delivery again by responding to the initial Message call with a specific payload:
{
"type": "http://www.meaningful.co.nz/limber-sync/retry-later",
"typeCode": "RETRY_LATER",
"status": 500,
"title": "Retry later",
"detail": "Retry later",
"uuid": "fe7b3dfb-4f0b-4093-be6e-490825b24c74",
"message": "Oops, something went wrong"
}
By sending this response, the Connector instructs SyncHive to re-attempt sending the original Message.