The built-in retry mechanism works as follows:
-
Failed messages with recoverable errors (like network errors, disk limits, etc.) will be written to the corresponding retry queue with a small TTL (starting at 6 seconds).
-
After the TTL has expired, the messages will automatically be moved (by RabbitMQ) to the original queue.
-
Upon reoccurred errors, the message will be transferred to the retry queue with 2* (original TTL). If the TTL is larger than 7 days, the message will be considered failed and persisted in the failure table (also presented in the UI under ‘System Messages’).