Spaces:
Running
Running
| # Producer | |
| import pika | |
| import os | |
| RABBITMQ_URL = os.environ["RABBITMQ_URL"] | |
| QUEUE_NAME = os.environ["QUEUE_NAME"] | |
| def get_connection(): | |
| params = pika.URLParameters(RABBITMQ_URL) | |
| return pika.BlockingConnection(params) | |
| connection = get_connection() | |
| def send_message(data: dict): | |
| connection = get_connection() | |
| channel = connection.channel() | |
| channel.queue_declare(queue=QUEUE_NAME, durable=True) | |
| message = str(data) | |
| channel.basic_publish( | |
| exchange='', | |
| routing_key=QUEUE_NAME, | |
| body=message, | |
| properties=pika.BasicProperties( | |
| delivery_mode=2, # make message persistent | |
| ) | |
| ) | |
| connection.close() | |
| return {"status": "sent", "data": data} |