Skip to main content
When an endpoint is experiencing a temporary disruption of service, events sent to it might fail and require you to retry them. Convoy allows you to set the number of attempts to a particular endpoint and how to initiate the retry. Project defaults use config.strategy.type, config.strategy.duration (seconds), and config.strategy.retry_count. The duration is recorded in delivery metadata as interval_seconds. Convoy supports two retry strategies:
  • linear: waits the configured interval_seconds between attempts.
  • exponential: increases the delay using interval_seconds * 2^n, where n is the delivery’s attempt count before the current dispatch. A random jitter of less than five seconds is added, and the final delay is capped by the instance’s max_retry_seconds setting. There is no fixed sequence of retry times.
Retry settings include a retry_count that limits the total delivery attempts, including the initial attempt. For example, two attempts means one initial attempt and one retry. The delivery metadata records the attempt count as num_trials and the configured limit as retry_limit. Retry defaults are configured per project, and subscriptions can override them. See Subscriptions.