feat(infra): add RabbitMQ generation/template-assist queue configs and scheduler settings

Introduce generation task and template-assist queue declarations with
DLX/DLQ support in RabbitMQ client. Add scheduler dispatch and
monitoring worker concurrency configs. Include publish channel pool
for high-throughput message publishing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-15 14:18:55 +08:00
parent 1b01caac0f
commit b46cfaaa61
6 changed files with 481 additions and 11 deletions
+26 -1
View File
@@ -30,10 +30,35 @@ rabbitmq:
monitor_result_dlx: monitor.result.dlx
monitor_result_dlq: monitor.result.ingest.dlq
monitor_result_dlq_routing_key: monitor.result.ingest.dlq
generation_exchange: generation.task
generation_routing_key: generation.task.run
generation_queue: generation.task.run
generation_dlx: generation.task.dlx
generation_dlq: generation.task.run.dlq
generation_dlq_routing_key: generation.task.run.dlq
generation_event_exchange: generation.event
template_assist_exchange: template.assist
template_assist_routing_key: template.assist.run
template_assist_queue: template.assist.run
template_assist_dlx: template.assist.dlx
template_assist_dlq: template.assist.run.dlq
template_assist_dlq_routing_key: template.assist.run.dlq
consumer_prefetch: 10
publish_channel_pool_size: 32
# Prefer environment override when needed:
# export RABBITMQ_URL=amqp://geo:geo_dev@localhost:5672/geo
scheduler:
dispatch_interval: 15s
dispatch_timeout: 30s
dispatch_batch_size: 100
dispatch_concurrency: 4
generation_queue_backpressure_limit: 1000
monitoring_workers:
result_ingest_concurrency: 4
projection_rebuild_concurrency: 2
redis:
addr: localhost:6379
@@ -104,6 +129,6 @@ retrieval:
generation:
queue_size: 128
worker_concurrency: 1
worker_concurrency: 8
stream_enabled: false
article_timeout: 8m
+26 -1
View File
@@ -36,7 +36,32 @@ rabbitmq:
monitor_projection_dlx: monitor.projection.dlx
monitor_projection_dlq: monitor.projection.rebuild.dlq
monitor_projection_dlq_routing_key: monitor.projection.rebuild.dlq
generation_exchange: generation.task
generation_routing_key: generation.task.run
generation_queue: generation.task.run
generation_dlx: generation.task.dlx
generation_dlq: generation.task.run.dlq
generation_dlq_routing_key: generation.task.run.dlq
generation_event_exchange: generation.event
template_assist_exchange: template.assist
template_assist_routing_key: template.assist.run
template_assist_queue: template.assist.run
template_assist_dlx: template.assist.dlx
template_assist_dlq: template.assist.run.dlq
template_assist_dlq_routing_key: template.assist.run.dlq
consumer_prefetch: 10
publish_channel_pool_size: 32
scheduler:
dispatch_interval: 15s
dispatch_timeout: 30s
dispatch_batch_size: 100
dispatch_concurrency: 4
generation_queue_backpressure_limit: 1000
monitoring_workers:
result_ingest_concurrency: 4
projection_rebuild_concurrency: 2
redis:
addr: localhost:6379
@@ -99,7 +124,7 @@ retrieval:
generation:
queue_size: 128
worker_concurrency: 1
worker_concurrency: 8
stream_enabled: false
article_timeout: 8m