Skip to main content

Helpdesk Transactional Outbox

Lifecycle

Transactional behavior

Endpoint handlers add the ticket change, audit/timeline entries and outbox entity to one HelpdeskDbContext, then save. This is a relational transactional outbox write. The serialized contract and its metadata are persisted before any broker operation.

The Helpdesk store reads Pending and Failed rows ordered by occurrence time, limited to the requested batch size. Success records processing time and clears the error. Failure records an incremented retry count and error.

Missing implementation

Helpdesk registers IOutboxMessageStore and the shared IOutboxProcessor, but no Helpdesk BackgroundService, hosted relay, scheduler registration or explicit call to ProcessPendingAsync was found. Cleanup, retention, locking/claiming and dead-letter transition are also not implemented in the verified store.

Source References

  • microservices/src/helpdesk-service/Infrastructure/Persistence.cs
  • microservices/src/helpdesk-service/Infrastructure/HelpdeskDbContext.cs
  • microservices/src/helpdesk-service/Program.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs

Revision Information

Draft source-backed documentation reviewed on 2026-07-20; next quarterly review is 2026-10-20.