[rabbitmq-discuss] Ingress does not work for me and the RMQ goes down

Simon MacMullen simon at rabbitmq.com
Fri Apr 5 13:36:57 BST 2013


On 05/04/13 13:18, Cermak, Marek wrote:
> Hi Simon,
> yes, I use direct for both consumer and publisher. They run in one node, RMQ is in another.

In that case you'll need to participate in the internal flow control 
scheme (which is not related to register_flow_handler) on the publisher 
side. This is slightly more fiddly:

* Use amqp_channel:cast_flow/3 instead of amqp_channel:cast/3 to publish.
* Be prepared to receive {bump_credit, Msg}, and pass that Msg to 
credit_flow:handle_bump_msg(Msg).
* Use credit_flow:blocked/0 to determine if you are allowed to publish.

That's if you have a single (class of) processes which publish. If you 
have a pipeline of processes through which messages pass then you might 
want to extend the same flow control mechanism through the pipeline. See 
for example the pipeline

rabbit_stomp_reader -> rabbit_stomp_processor -> amqp_channel.

Cheers, Simon

-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list