Files
dc-observatio/config-repo/pcp-request-service.yaml
T
Дмитрий Соловьев c1259c3105 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) — до роста требований к точности.
2026-06-06 23:47:19 +03:00

81 lines
1.9 KiB
YAML

server:
port: ${pcp.ports.request:7005}
pcp:
outbox:
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:
admin:
client:
instance:
service-base-url: ${pcp.services.request}
service-path: /swagger/ui
management-base-url: ${pcp.services.request}
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://${pcp.infra.postgres.host}:${pcp.infra.postgres.port}/pcp_requests
username: postgres
password: password
jpa:
hibernate:
ddl-auto: validate
properties:
hibernate:
format_sql: true
flyway:
enabled: true
baseline-on-migrate: true
locations: classpath:db/migration
kafka:
bootstrap-servers: ${pcp.infra.kafka.host}:${pcp.infra.kafka.port}
consumer:
group-id: pcp-request-service
auto-offset-reset: latest
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
springdoc:
swagger-ui:
path: /swagger/ui
management:
endpoints:
web:
exposure:
include: health,info,metrics
logging:
level:
root: INFO
org.hibernate.SQL: WARN
org.springframework.kafka: INFO
app:
kafka:
topics:
route: pcp.route.georeference.v1
consumer:
route:
dlq-topic: pcp.route.georeference-dlq.v1
max-attempts: 5
backoff-ms: 1000
max-backoff-ms: 30000
grid:
enabled: true