[rabbitmq-discuss] Pika, Detect publish failure when broker becomes unavailable
chandij.piotr at gmail.com
Fri Mar 2 12:07:10 GMT 2012
I have the same problem – I fought that if we set channel into confirm
channel.confirm_delivery(callback = confirm_handler)
should call function when we received acknowledge from RabbitMQ but
unfortunately not, that function is called when we closing channel
(BlockingChannel) – channel.close() – that function is freezing.
We can check is connection is open (connection.open) but this one not
guarantees that message was received.
So I will ask one more time ;-) Anyone have an idea how to deal with
On Mar 2, 12:08 am, Jelle Smet <smetj.... at gmail.com> wrote:
> Hi all,
> I'm using pika 0.9.5 and trying to figure out how to detect whether
> RabbitMQ is still available/unavailable after creating a connection to it.
> When I stop Rabbit between the channel creation and publishing the message,
> there appears to be no way of detecting whether rabbit is still
> Publishing the message doesn't generate any error, connection.is_open
> always returns True...
> Anyone an idea how to deal with this?
> import pika
> from pika.adapters import SelectConnection
> from pika.adapters import BlockingConnection
> import time
> parameters = pika.ConnectionParameters(host='sandbox')
> connection = BlockingConnection(parameters)
> channel = connection.channel()
> channel.queue_declare(queue="test", durable=True, exclusive=False,
> #I stop rabbitmq here
> print connection.is_open #Returns True so this doesn't work
> #this doesn't generate any error
> channel.basic_publish(exchange='', routing_key="test", body="Hello World!",
> properties=pika.BasicProperties(content_type="text/plain", delivery_mode=1))
> rabbitmq-discuss mailing list
> rabbitmq-disc... at lists.rabbitmq.comhttps://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
More information about the rabbitmq-discuss