Skip to content

Feature: Add automatic retry and per-subscriber failure tracking#9

Open
jcviljoen wants to merge 1 commit intomainfrom
feature/automatic-retry-and-failure-tracking-per-subscriber
Open

Feature: Add automatic retry and per-subscriber failure tracking#9
jcviljoen wants to merge 1 commit intomainfrom
feature/automatic-retry-and-failure-tracking-per-subscriber

Conversation

@jcviljoen
Copy link
Copy Markdown
Collaborator

Hybrid in-process + persisted retries for listener failures, tracked durably per (event, listener) so a single failing listener of an event is retried independently while the others continue. Adds an intermediate processing event status so events claimed by a worker survive crashes mid-dispatch.

Opt-in via new processor constructor params (RetryPolicy, RedeliveryTracker, ignoredExceptions) defaulting to no-retry + no-tracker — existing behaviour unchanged. EventStore gains markProcessed(); the previously-unused event_outbox_status table is now active as an audit trail.

Also fixes four test fixtures left in the old Test\Tcds\Io\Ray_Fixtures namespace by the earlier "Migrate to vesper" commit so the test suite runs.

Hybrid in-process + persisted retries for listener failures, tracked durably
per (event, listener) so a single failing listener of an event is retried
independently while the others continue. Adds an intermediate `processing`
event status so events claimed by a worker survive crashes mid-dispatch.

Opt-in via new processor constructor params (RetryPolicy, RedeliveryTracker,
ignoredExceptions) defaulting to no-retry + no-tracker — existing behaviour
unchanged. EventStore gains markProcessed(); the previously-unused
event_outbox_status table is now active as an audit trail.

Also fixes four test fixtures left in the old Test\Tcds\Io\Ray\_Fixtures
namespace by the earlier "Migrate to vesper" commit so the test suite runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant