28 lines
766 B
Python
28 lines
766 B
Python
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='main',
|
|
body=json.dumps(body),
|
|
properties=properties,
|
|
)
|
|
print('Product published in queue: MAIN')
|