import logging import logging.config from typing import Any from app.config import settings from app.container import container from app.handler import DispatchCampaignsHandler logger = logging.getLogger(__name__) def handle(_event: Any, _context: Any) -> Any: """Handle the event.""" initialize() logger.info("Scheduled event received.") handler = container.resolve(DispatchCampaignsHandler) handler.handle() return {"status": "OK"} _initialized = False def initialize() -> None: global _initialized if _initialized: return logging.config.dictConfig(settings.logging_config) if settings.sentry_dsn: import sentry_sdk from sentry_sdk.integrations.aws_lambda import AwsLambdaIntegration from sentry_sdk.integrations.httpx import HttpxIntegration sentry_sdk.init( dsn=settings.sentry_dsn, environment=settings.environment, integrations=[ AwsLambdaIntegration(), HttpxIntegration(), ], traces_sample_rate=0.0, ) _initialized = True