R
Size: a a a
R
R
AB
R
R
R
R
OL
AB
ES
AV
ТФ
А
def publish(self, queue: str, msg: dict, repeat: int = 1, delay: float = 0.):
properties = {'content_type': 'application/json'}
exchange, rkey = queue.split('/') if '/' in queue else ("", queue)
event = {
"Body": msg.get("Body") or msg
}
body = json.dumps(event).encode()
exchange = rabbitpy.Exchange(self._channel, exchange)
message = rabbitpy.Message(self._channel, body, properties)
for _ in range(repeat):
message.publish(exchange, rkey)
dlog("RabbitMQ publish to exchange \"%s\" with routing key \"%s\": %s", exchange, rkey, event)
time.sleep(delay)
SM
AK
with rabbitpy.Connection(url=url) as connection:
with connection.channel() as channel:
exchange = rabbitpy.Exchange(channel, 'test.exchange')
exchange.declare()
queue = rabbitpy.Queue(channel, 'h.test.TestHandler')
queue.declare()
time.sleep(5)
queue.bind(exchange, 'test.exchange')
message = rabbitpy.Message(channel, 'Test message', {'content_type': 'text/plain'}, opinionated=True)
message.publish(exchange, 'test.exchange')
OL
А
with rabbitpy.Connection(url=url) as connection:
with connection.channel() as channel:
exchange = rabbitpy.Exchange(channel, 'test.exchange')
exchange.declare()
queue = rabbitpy.Queue(channel, 'h.test.TestHandler')
queue.declare()
time.sleep(5)
queue.bind(exchange, 'test.exchange')
message = rabbitpy.Message(channel, 'Test message', {'content_type': 'text/plain'}, opinionated=True)
message.publish(exchange, 'test.exchange')
А
O
А