Add new alert architecture
This commit is contained in:
@@ -14,6 +14,7 @@ import structlog
|
||||
from app.core.config import settings
|
||||
from app.core.database import init_database, get_db_health
|
||||
from app.api.production import router as production_router
|
||||
from app.services.production_alert_service import ProductionAlertService
|
||||
|
||||
# Configure logging
|
||||
logger = structlog.get_logger()
|
||||
@@ -25,6 +26,16 @@ async def lifespan(app: FastAPI):
|
||||
# Startup
|
||||
try:
|
||||
await init_database()
|
||||
logger.info("Database initialized")
|
||||
|
||||
# Initialize alert service
|
||||
alert_service = ProductionAlertService(settings)
|
||||
await alert_service.start()
|
||||
logger.info("Production alert service started")
|
||||
|
||||
# Store alert service in app state
|
||||
app.state.alert_service = alert_service
|
||||
|
||||
logger.info("Production service started successfully")
|
||||
except Exception as e:
|
||||
logger.error("Failed to initialize production service", error=str(e))
|
||||
@@ -34,6 +45,13 @@ async def lifespan(app: FastAPI):
|
||||
|
||||
# Shutdown
|
||||
logger.info("Production service shutting down")
|
||||
try:
|
||||
# Stop alert service
|
||||
if hasattr(app.state, 'alert_service'):
|
||||
await app.state.alert_service.stop()
|
||||
logger.info("Alert service stopped")
|
||||
except Exception as e:
|
||||
logger.error("Error during shutdown", error=str(e))
|
||||
|
||||
|
||||
# Create FastAPI application
|
||||
|
||||
Reference in New Issue
Block a user