File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed
Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ import asyncio
2+ import os
3+
4+ from src .event - bus .kafka_bus import KafkaEventBus
5+ from src .event - bus .redis_bus import RedisEventBus
6+ from src .event - bus .rabbitmq_bus import RabbitMQEventBus
7+
8+ from src .matching - service .consumer import MatchingConsumer
9+ from src .common .utils import get_logger
10+
11+
12+ def get_event_bus ():
13+ backend = os .getenv ("EVENT_BUS_BACKEND" , "kafka" ).lower ()
14+
15+ if backend == "kafka" :
16+ return KafkaEventBus ()
17+ elif backend == "redis" :
18+ return RedisEventBus ()
19+ elif backend == "rabbitmq" :
20+ return RabbitMQEventBus ()
21+ else :
22+ raise ValueError (f"Unsupported EVENT_BUS_BACKEND: { backend } " )
23+
24+
25+ async def main ():
26+ logger = get_logger ("MatchingService" )
27+
28+ event_bus = get_event_bus ()
29+
30+ logger .info (f"Using event bus backend: { event_bus .__class__ .__name__ } " )
31+
32+ # Connect to Kafka / Redis / RabbitMQ
33+ await event_bus .connect ()
34+
35+ consumer = MatchingConsumer (event_bus )
36+
37+ try :
38+ logger .info ("Starting Matching Service..." )
39+ await consumer .start ()
40+ except Exception as e :
41+ logger .error (f"Fatal error in Matching Service: { e } " )
42+ finally :
43+ logger .info ("Shutting down Matching Service..." )
44+ await event_bus .close ()
45+
46+
47+ if __name__ == "__main__" :
48+ asyncio .run (main ())
You can’t perform that action at this time.
0 commit comments