Pause message delivery server-side?

29 views
Skip to first unread message

Alexander Hill

unread,
Jan 28, 2021, 4:22:04 AM1/28/21
to rabbitmq-users
Hello,

I'm using Django and Celery with RabbitMQ. I have lots of connected clients, and sometimes need to pause processing of a particular queue.

One way I can do this is to stop all my workers. I could also do it using the Celery control protocol to stop those workers consuming from the queue in question.

But I feel like the feature I really want is to be able to pause delivery centrally, from the server side, such that RabbitMQ simply holds onto all messages, the queue grows and consumers receive no messages until the queue is resumed.

Is this possible in some way? My Googling suggests it's not. If that's right, is it a design decision or just something that's never been needed/requested/implemented?

Thanks,
Alex

Wesley Peng

unread,
Jan 28, 2021, 5:20:07 AM1/28/21
to RabbitMQ Users
RabbitMQ QoS will do the flow control on publish side.

Regards
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.

Gowri Sankar Suryanarayana

unread,
Jan 28, 2021, 6:47:45 AM1/28/21
to rabbitm...@googlegroups.com
as far as I know, RabbitMQ delivers the messages to consumers as long as they are alive

So, the only way to achieve what you want is to disconnect your consumers and reconnect when your application is ready
--
A.S.Gowri Sankar


Luke Bakken

unread,
Jan 28, 2021, 9:43:00 AM1/28/21
to rabbitmq-users
Hi Alex,

RabbitMQ does not support this feature. I can think of only one other time on this mailing list where someone else suggested it. As far as I know no paying customer has requested the feature, either.

Thanks,
Luke
Reply all
Reply to author
Forward
0 new messages