Skip to content

Commit 952e5ee

Browse files
authored
Create main.py
1 parent 64da04a commit 952e5ee

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

main.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
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())

0 commit comments

Comments
 (0)