22import logging
33from contextlib import AsyncExitStack
44
5- from beanie import init_beanie
6- from pymongo .asynchronous .mongo_client import AsyncMongoClient
7-
85from app .core .database_context import DBClient
96from app .core .logging import setup_logger
107from app .core .tracing import init_tracing
1512from app .events .schema .schema_registry import SchemaRegistryManager
1613from app .services .event_replay .replay_service import EventReplayService
1714from app .settings import get_settings
15+ from beanie import init_beanie
16+ from pymongo .asynchronous .mongo_client import AsyncMongoClient
1817
1918
2019async def cleanup_task (replay_service : EventReplayService , interval_hours : int = 6 ) -> None :
@@ -30,10 +29,8 @@ async def cleanup_task(replay_service: EventReplayService, interval_hours: int =
3029 logger .error (f"Error during cleanup: { e } " )
3130
3231
33- async def run_replay_service () -> None :
32+ async def run_replay_service (logger : logging . Logger ) -> None :
3433 """Run the event replay service with cleanup task"""
35- logger = logging .getLogger (__name__ )
36-
3734 # Get settings
3835 settings = get_settings ()
3936
@@ -55,13 +52,15 @@ async def run_replay_service() -> None:
5552 producer = UnifiedProducer (producer_config , schema_registry , logger )
5653
5754 # Create event store
58- event_store = create_event_store (db = database , schema_registry = schema_registry , logger = logger )
55+ event_store = create_event_store (schema_registry = schema_registry , logger = logger )
5956
6057 # Create repository
61- replay_repository = ReplayRepository (database , logger )
58+ replay_repository = ReplayRepository (logger )
6259
6360 # Create replay service
64- replay_service = EventReplayService (repository = replay_repository , producer = producer , event_store = event_store )
61+ replay_service = EventReplayService (
62+ repository = replay_repository , producer = producer , event_store = event_store , logger = logger
63+ )
6564 logger .info ("Event replay service initialized" )
6665
6766 async with AsyncExitStack () as stack :
@@ -84,27 +83,28 @@ async def _cancel_task() -> None:
8483
8584def main () -> None :
8685 """Main entry point for event replay service"""
86+ settings = get_settings ()
87+
8788 # Setup logging
88- setup_logger ()
89+ logger = setup_logger (settings . LOG_LEVEL )
8990
9091 # Configure root logger for worker
9192 logging .basicConfig (level = logging .INFO , format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" )
9293
93- logger = logging .getLogger (__name__ )
9494 logger .info ("Starting Event Replay Service..." )
9595
9696 # Initialize tracing
97- settings = get_settings ()
9897 if settings .ENABLE_TRACING :
9998 init_tracing (
10099 service_name = "event-replay" ,
100+ logger = logger ,
101101 service_version = settings .TRACING_SERVICE_VERSION ,
102102 enable_console_exporter = False ,
103103 sampling_rate = settings .TRACING_SAMPLING_RATE ,
104104 )
105105 logger .info ("Tracing initialized for Event Replay Service" )
106106
107- asyncio .run (run_replay_service ())
107+ asyncio .run (run_replay_service (logger ))
108108
109109
110110if __name__ == "__main__" :
0 commit comments