fix: per-handler claim lease in ledger, nats max_deliver, pin handler names
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
-- Outbox identity: every queued event carries a stable id; handlers record
|
||||
-- (event_id, handler) pairs so redeliveries are skipped.
|
||||
-- Outbox identity: every queued event carries a stable id; handlers claim
|
||||
-- (event_id, handler) pairs so redeliveries are skipped and concurrent
|
||||
-- deliveries never run the same handler twice.
|
||||
ALTER TABLE event_queue ADD COLUMN event_id TEXT;
|
||||
|
||||
-- When the current claim started; a claim older than the lease is reclaimable.
|
||||
@@ -21,6 +22,8 @@ CREATE UNIQUE INDEX idx_event_queue_event_id
|
||||
CREATE TABLE processed_events (
|
||||
event_id TEXT NOT NULL,
|
||||
handler TEXT NOT NULL,
|
||||
status TEXT NOT NULL CHECK (status IN ('in_progress', 'done')),
|
||||
started_at TEXT,
|
||||
processed_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
|
||||
PRIMARY KEY (event_id, handler)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user