Skip to content

Add reliable detection job dispatch - #23

Merged
fengting124 merged 8 commits into
mainfrom
feature/reliable-job-dispatch
Jul 10, 2026
Merged

Add reliable detection job dispatch#23
fengting124 merged 8 commits into
mainfrom
feature/reliable-job-dispatch

Conversation

@fengting124

Copy link
Copy Markdown
Owner

What

  • persist asynchronous detection commands in a PostgreSQL transactional outbox
  • dispatch versioned events to Redis Streams with retry, stale-claim recovery, and stable event-id deduplication
  • add bounded inspection and replay operations plus an operator runbook

Why

The previous request path performed a database/Redis dual write. Redis outages or a process crash could lose accepted work. This change makes PostgreSQL the durable source of truth and provides an explicit at-least-once delivery contract without requiring model weights.

Reliability boundary

  • no distributed transaction or exactly-once claim
  • normal duplicate publication is suppressed and completed tasks are terminal-state idempotent
  • atomic ownership for independently injected concurrent task messages is deferred to feature/short-lived-execution-transactions
  • real PostgreSQL/Redis restart tests remain deferred until Docker is available

Verification

  • Java: 79 tests passed
  • frontend: 8 tests, lint, and production build passed
  • model service: 6 tests passed without weights
  • smoke tests: 3 passed

@fengting124
fengting124 merged commit 00810bf into main Jul 10, 2026
4 checks passed
@fengting124
fengting124 deleted the feature/reliable-job-dispatch branch July 10, 2026 23:28
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