Skip to content

feat: Add backoff support for retries.#267

Merged
jimsynz merged 4 commits intomainfrom
feat/retry-backoff
Sep 26, 2025
Merged

feat: Add backoff support for retries.#267
jimsynz merged 4 commits intomainfrom
feat/retry-backoff

Conversation

@jimsynz
Copy link
Copy Markdown
Contributor

@jimsynz jimsynz commented Sep 24, 2025

This PR adds a new backoff/4 callback to the Reactor.Step behaviour that allows a step to dictate how long the executor should wait before rescheduling the step for execution. This is done by creating a new Reactor.Executor.Backoff struct which is added as a graph vertex as a dependency of the step being retried, which will stop the step from being executed until the dependency is removed.

The main executor loop sweeps the graph for expired backoff vertices and removes them only when there is not anything more useful for it to do, which means that the backoff times are a minimum delay and some jitter is inherent in the process.

Contributor checklist

Leave anything that you believe does not apply unchecked.

  • I accept the AI Policy, or AI was not used in the creation of this PR.
  • Bug fixes include regression tests
  • Chores
  • Documentation changes
  • Features include unit/acceptance tests
  • Refactoring
  • Update dependencies

@jimsynz jimsynz requested a review from a team September 24, 2025 22:56
@jimsynz jimsynz merged commit 28372fd into main Sep 26, 2025
62 of 64 checks passed
@jimsynz jimsynz deleted the feat/retry-backoff branch September 26, 2025 23:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants