diff options
Diffstat (limited to 'rmq/publisher.py')
| -rw-r--r-- | rmq/publisher.py | 26 | 
1 files changed, 26 insertions, 0 deletions
| diff --git a/rmq/publisher.py b/rmq/publisher.py new file mode 100644 index 0000000..4ba9db9 --- /dev/null +++ b/rmq/publisher.py @@ -0,0 +1,26 @@ +import pika + +def publish(message, username='guest', password='guest', host='localhost', port=5672, queue='', routingkey='', exchange='', exchange_type=''): +    credentials = pika.PlainCredentials(username, password) +    connection = pika.BlockingConnection(pika.ConnectionParameters(host, port, '/', credentials)) +    properties = pika.BasicProperties(content_type='text/plain', delivery_mode=1) + +    channel = connection.channel() +    channel.queue_declare(queue=queue, durable=False) +    channel.exchange_declare(exchange=exchange, exchange_type=exchange_type) +    channel.queue_bind(exchange=exchange, queue=queue, routing_key=routingkey) + +    result = channel.basic_publish( +                exchange=exchange, +                routing_key=routingkey, +                body=message, +                properties=properties +    ) + +    if result: +        print(f"Connecting to host: {host} port: {port} exchange: {exchange} queue: {queue}", flush=True) +    else: +        print("not delivered") + +    connection.close() + | 
