You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(reporting): support issue_observer on the production= service path #1873
ReliableReportingService(issue_observer=...) delivers reporting-issue lifecycle events (opened, escalated, acknowledged, waived, resolved) on the worker turn, read from the issue-event outbox the ledger records beside each lifecycle write (adcp-reporting-storage migration 0008).
The first release supports only the non-production composition. With production=ReportingProductionOptions(...) the production graph owns the workers, admission and error handling, and the service refuses issue_observer with ReliableReportingConfigurationError.
Ask
Run ReportingIssueEventDispatcher on the production graph:
thread issue_observer through ReportingProductionOptions._compose / ReportingProductionSupport;
schedule the dispatcher alongside the production and notification tasks, with its failures reported where production reports worker failures;
check that the production store (PgReportingProductionStore / InMemoryReportingProductionStore) records issue events (issue_events_supported, issue_events_ready()).
Then remove the refusal in ReliableReportingService.__init__.
The delivery contract stays the same: at least once, deduplicated on event_id, in recording order per occurrence, and the observer never fails the buyer's call.
Activity
feat(reporting): notify the adopter when a reporting issue opens, esc…
feat(reporting): notify the adopter when a reporting issue opens, esc…
feat(reporting): notify the adopter when a reporting issue opens, esc…