<div class="gmail_quote">El 8 de junio de 2010 17:04, Nicolás César <span dir="ltr"><<a href="mailto:nico@nicocesar.com">nico@nicocesar.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="gmail_quote">2010/6/8 Matthew Sackman <span dir="ltr"><<a href="mailto:matthew@rabbitmq.com" target="_blank">matthew@rabbitmq.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Nicolás,<br>
<div><div class="im"><br>
On Tue, Jun 08, 2010 at 08:33:24AM -0300, Nicolás César wrote:<br></div>
(..)<div class="im"><br>
> What i'm doing wrong?<br>
<br>
</div></div><div class="im">When you hit the memory watermark, the *server* sends to *you* the<br>
channel.flow{active=false} which you're meant to acknowledge by sending<br>
back a channel.flow_ok{active=false}. However, depending on which python<br>
client you're using, this may not be implemented - I'm aware Tony's<br>
produced an experimental patch for pyamqplib, and I'm not sure about the<br>
status of flow control in Pika.<br></div></blockquote><div><br><br>Thanks Matthew for the excelent response. You probably are talking about this:<br><a href="http://code.google.com/p/py-amqplib/issues/detail?id=19" target="_blank">http://code.google.com/p/py-amqplib/issues/detail?id=19</a><br>
<br> <br></div><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I think what you're doing is sending a channel.flow to the server which<br>
is telling the server whether or not to send message to you, not the<br>
other way around.<br></blockquote></div><div><br>Thanks for the explanation. I'll see that patch and get my things going smoothly<br> <br></div></div>
</blockquote></div><br><br>I've applied the patch... works just fine. If I use chan.publish( ..., block_on_flow_control=True ) I get the expected result and (if I set it to false I get a convienent exception)<br><br>
But now I've hitted the "vm_memory_high_watermark set." ; every producer is blocked but the memory stills allocated. (using >400M for 50 empty queues) for more than an hour. <br><br>When vm_memory_high_watermark will be cleared? Can I force something to get that memory back to normal. (I refuse to shut down rabbit, since I'm debugging to get this into production)<br>
<br>Greetings<br><br><br clear="all">Nico César<br><br>