pcp-request-service: аудит-фиксы RS1/RS3/RS6/RS7
RS1 (#29): планировщик истечения заявок — RequestExpiryService (@Scheduled + FOR UPDATE SKIP LOCKED, мультиинстанс-safe), refreshStatus вызывается и при создании заявки. RS7 (#35): единый топик pcp.request.status.v1 → geoportal (COMPLETED/EXPIRED в payload), замена orphan pcp.request.completed.v1; эмиссия из matching и expiry через тот же outbox; backoff/next_attempt_at/cap для outbox FAILED. RS3 (#31): DefaultErrorHandler + DeadLetterPublishingRecoverer (DLQ pcp.route.georeference-dlq.v1), bounded retry, контрактные ошибки в DLQ. RS6 (#34): проброс coverageRequiredPercent из API, разведение терминов покрытие/важность. Доки: бэклог, аудит сервиса заданий, карты взаимодействий. RS2 (#30) отложено до #28, RS5 (#33) — до роста требований к точности.
This commit is contained in:
@@ -3,9 +3,18 @@ server:
|
||||
|
||||
pcp:
|
||||
outbox:
|
||||
request-completed-topic: pcp.request.completed.v1
|
||||
request-status-topic: pcp.request.status.v1
|
||||
publish-batch-size: 50
|
||||
publish-fixed-delay-ms: 5000
|
||||
max-attempts: 10
|
||||
initial-backoff-ms: 1000
|
||||
max-backoff-ms: 60000
|
||||
request:
|
||||
expiry:
|
||||
enabled: true
|
||||
fixed-delay-ms: 60000
|
||||
batch-size: 200
|
||||
max-batches-per-run: 50
|
||||
|
||||
spring:
|
||||
boot:
|
||||
@@ -60,10 +69,12 @@ logging:
|
||||
app:
|
||||
kafka:
|
||||
topics:
|
||||
request: pcp.request.in.v1
|
||||
route: pcp.route.georeference.v1
|
||||
request:
|
||||
cleanup-retention-days: 30
|
||||
cleanup-cron: "0 0 3 * * *"
|
||||
consumer:
|
||||
route:
|
||||
dlq-topic: pcp.route.georeference-dlq.v1
|
||||
max-attempts: 5
|
||||
backoff-ms: 1000
|
||||
max-backoff-ms: 30000
|
||||
grid:
|
||||
enabled: true
|
||||
|
||||
Reference in New Issue
Block a user