fix: use environment variable for RabbitMQ output queue name

- Add RABBITMQ_OUTPUT_QUEUE_NAME environment variable support
- Fix hardcoded queue name 'reconciler.output' to use configurable queue name
- Default to 'freeleaps.devops.reconciler.output' if env var not set
- Add debug logging to show which queue name is being used
- This fixes the issue where 42 messages were stuck in the output queue due to queue name mismatch
This commit is contained in:
Nicolas 2025-08-08 12:01:47 +08:00
parent b5ca0cf0f5
commit e4fe9394b1

View File

@ -1,4 +1,5 @@
import asyncio
import os
from app.backend.infra.rabbitmq.async_subscriber import AsyncMQSubscriber
from app.backend.services.deployment_status_update_service import DeploymentStatusUpdateService
@ -15,7 +16,9 @@ def register(app):
try:
# Initialize services during startup to avoid blocking app initialization
print("🔧 Initializing services...")
app.deployment_heartbeat_subscriber = AsyncMQSubscriber("reconciler.output")
output_queue_name = os.getenv("RABBITMQ_OUTPUT_QUEUE_NAME", "freeleaps.devops.reconciler.output")
print(f"Using output queue: {output_queue_name}")
app.deployment_heartbeat_subscriber = AsyncMQSubscriber(output_queue_name)
app.deployment_status_service = DeploymentStatusUpdateService()
print("✅ Services initialized")