Zkt22/assignment1-fruitapp/fruitapp-backend/producer.py
2022-04-25 14:49:43 +05:30

28 lines
767 B
Python
Executable File

import json
import os
import pika
RABBIT_ENDPOINT = os.environ['RABBIT_ENDPOINT']
class Producer:
"""Implement the producer logic."""
def __init__(self):
self.params = pika.URLParameters(RABBIT_ENDPOINT)
self.connection = pika.BlockingConnection(self.params)
def publish(self, method, body):
properties = pika.BasicProperties(method)
if not self.connection or self.connection.is_closed:
self.connection = pika.BlockingConnection(self.params)
channel = self.connection.channel()
channel.basic_publish(
exchange='',
routing_key='admin',
body=json.dumps(body),
properties=properties,
)
print('Product published in queue: MAIN')