#!/usr/bin/env python
import pika
import sys
import json


connection = pika.BlockingConnection(pika.ConnectionParameters(host="localhost"))
channel = connection.channel()

queue_name = sys.argv[1]
topic = sys.argv[2]
message = " ".join(sys.argv[3:]) or "Hello World!"
body = json.dumps({"topic": topic, "message": message})
channel.queue_declare(queue=queue_name, durable=True)
channel.basic_publish(exchange="", routing_key=queue_name, body=body)
connection.close()