[rabbitmq-discuss] Why is RabbitMQ not persisting messages on a durable queue?

Gavin M. Roy gmr at myyearbook.com
Fri Feb 18 21:40:31 GMT 2011


Not sure of the celery underpinnings for specifying persistent messages,
perhaps it's documented, but you need to set the message delivery_mode = 2
in the message properties when calling Basic.Publish.

On Fri, Feb 18, 2011 at 4:19 PM, hekevintran <hekevintran at gmail.com> wrote:

> I am using RabbitMQ with Django through Celery. I am using the most
> basic setup:
>
>    # RabbitMQ connection settings
>    BROKER_HOST = 'localhost'
>    BROKER_PORT = '5672'
>    BROKER_USER = 'guest'
>    BROKER_PASSWORD = 'guest'
>    BROKER_VHOST = '/'
>
> I imported a Celery task and queued it to run one year later. From the
> iPython shell:
>
>    In [1]: from apps.test_app.tasks import add
>
>    In [2]: dt=datetime.datetime(2012, 2, 18, 10, 00)
>
>    In [3]: add.apply_async((10, 6), eta=dt)
>    DEBUG:amqplib:Start from server, version: 8.0, properties:
> {u'information': 'Licensed under the MPL.  See http://www.rabbitmq.com/',
> u'product': 'RabbitMQ', u'version': '2.2.0', u'copyright': 'Copyright
> (C) 2007-2010 LShift Ltd., Cohesive Financial Technologies LLC., and
> Rabbit Technologies Ltd.', u'platform': 'Erlang/OTP'}, mechanisms:
> ['PLAIN', 'AMQPLAIN'], locales: ['en_US']
>    DEBUG:amqplib:Open OK! known_hosts []
>    DEBUG:amqplib:using channel_id: 1
>    DEBUG:amqplib:Channel open
>    DEBUG:amqplib:Closed channel #1
>    Out[3]: <AsyncResult: cfc507a1-175f-438e-acea-8c989a120ab3>
>
> RabbitMQ received this message in the celery queue:
>
>    $  rabbitmqctl list_queues name messages durable
>    Listing queues ...
>    KTMacBook.local.celeryd.pidbox      0       false
>    celery      1       true
>    celeryctl_KTMacBook.local   0       true
>    ...done.
>
> I then killed RabbitMQ by hitting control-C followed by 'a' to abort.
> When I start the server again and check it with rabbitmqctl, it says
> that there are no messages in the celery queue:
>
>    $  rabbitmqctl list_queues name messages durable
>    Listing queues ...
>    celery      0       true
>    celeryctl_KTMacBook.local   0       true
>    ...done.
>
> The celery queue was durable. Why were the messages not persisted?
> What do I need to do to make the messages persistent?
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110218/6ae65ec0/attachment.htm>


More information about the rabbitmq-discuss mailing list