feat(python/robomp): added automatic event retry scheduling with backoff delays

- Added event retry settings with parsed delay schedules and jittered delay computation.
- Extended event persistence to persist an `available_at` timestamp, honor it during dequeuing, and clear it when re-queuing.
- Updated worker failure handling to queue bounded retries with backoff and transition to failed only when the retry budget is exhausted.
This commit is contained in:
can1357
2026-06-14 09:15:18 +02:00
parent 4a2417c92f
commit 46ea12f1a1
6 changed files with 318 additions and 7 deletions
@@ -256,6 +256,7 @@ async def test_run_event_marks_failed_for_unrelated_failure_during_drain(
"""
pool = _make_pool(settings, db)
pool._shutting_down = True # noqa: SLF001
monkeypatch.setattr(settings, "event_max_retries", 0) # assert terminal failure, not retry
# Crucially: this delivery is NOT in `_shutdown_cancelled` — stop()
# never targeted it. Its failure is its own.