9357d1592d
검수 fix 작업 중 다른 세션이 prod 에 377_domain_bucket(ee3b347)을 선점·배포 → publish_outbox attempts/failed 마이그를 378 로 리넘버(브랜치를ee3b347로 rebase). 모델 주석도 mig378 로 정정. 내 fix 8건은 새 prod 커밋과 파일 무충돌(번호만 조정). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
10 lines
671 B
SQL
10 lines
671 B
SQL
-- 378_publish_outbox_attempts_failed.sql
|
|
-- (번호: 멀티세션 중 prod 가 377_domain_bucket 을 선점 → 378 로 리넘버.)
|
|
-- publish_outbox poison row head-of-line block 차단. 발행 워커가 행별 savepoint 격리 후
|
|
-- 예외 시 attempts++ 하고 MAX 초과 시 failed_at 스탬프(terminal) → 그 행을 select 에서 제외해
|
|
-- 후속 발행이 막히지 않게 함. 기존 미처리 행은 attempts=0 / failed_at=NULL 로 정상 재처리.
|
|
-- (단일 ALTER = 1 statement = asyncpg prepared 호환.)
|
|
ALTER TABLE publish_outbox
|
|
ADD COLUMN IF NOT EXISTS attempts SMALLINT NOT NULL DEFAULT 0,
|
|
ADD COLUMN IF NOT EXISTS failed_at TIMESTAMPTZ;
|