Yangi notification model va RabbitMQ ulanish funksiyalari qo'shildi

This commit is contained in:
A'zamov Samandar
2025-04-21 20:06:20 +05:00
parent 80fa39bd1b
commit a777752e17
4 changed files with 37 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
# rabbitmq.py
from kombu import Exchange, Producer
from .rabbitmq import get_connection
_channel = None
_exchange = Exchange('notification', type='direct')
_producer = None
def get_producer():
global _producer, _channel
if _producer is None:
conn = get_connection()
_channel = conn.channel()
_producer = Producer(_channel, exchange=_exchange, routing_key="notification")
return _producer
def send_notification(message: dict):
producer = get_producer()
producer.publish(message, serializer='json')

View File

@@ -0,0 +1,15 @@
# rabbitmq.py
from kombu import Connection
rabbit_url = 'amqp://guest:guest@rabbitmq:5672/'
_connection = None
def get_connection():
global _connection
if _connection is None or not _connection.connected:
_connection = Connection(rabbit_url)
_connection.ensure_connection(max_retries=3)
return _connection