<meta http-equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px; border-collapse: collapse; ">Hello,</span><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px; border-collapse: collapse; "><div>
<br></div><div>I'm not sure if this is the right place for this, but I am kindly requesting help with the http push module. It seems to sporadically not send responses to long polling JavaScript clients. In the wild, I have clients who start the long poll, but then never receive messages from the publisher no matter how many POSTs are sent. Aborting the XMLHttpRequest and then re-establishing the long poll seems to work.</div>
<div><br></div><div>In my error logs, I can find this:</div><div><br></div><div><span style="font-family: 'courier new', monospace; ">2010/05/20 23:49:33 [error] 5593#0: push module: worker 5593 intercepted a message intended for another worker process (913) that probably died</span></div>
<div><br></div><div>Which I assume may be the problem; perhaps the worker died and then never closed the connection? I could not reproduce this problem in a controlled environment, but exhausting the number of workers available in the worker_connections directive caused the symptoms to re-appear: long polling clients do not receive messages until they re-establish the long poll. </div>
<div><br></div><div>Here is my relevant information; any help would be appreciated. Thanks in advance!</div><div><br></div><div>nginx 0.7.65</div><div>nginx_http_push_module 0.692</div><div><br></div><div><div><font face="'courier new', monospace">events {</font></div>
<div><font face="'courier new', monospace"> worker_connections 1024;</font></div><div><font face="'courier new', monospace">}</font></div><div><font face="'courier new', monospace"><br></font></div>
<div><font face="'courier new', monospace">http {</font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace"> keepalive_timeout 1;</font></div>
<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace"> server {</font></div><div><font face="'courier new', monospace"> listen <a href="http://0.0.0.0:1321" target="_blank" style="color: rgb(42, 93, 176); ">0.0.0.0:1321</a>;</font></div>
<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace"> location /publish {</font></div><div><font face="'courier new', monospace"> push_publisher;</font></div>
<div><font face="'courier new', monospace"> set $push_channel_id $arg_id;</font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace"> push_store_messages off;</font></div>
<div><font face="'courier new', monospace"> }</font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace"> }</font></div><div><font face="'courier new', monospace"> server {</font></div>
<div><font face="'courier new', monospace"> listen <a href="http://0.0.0.0:80" target="_blank" style="color: rgb(42, 93, 176); ">0.0.0.0:80</a>;</font></div><div><font face="'courier new', monospace"><br>
</font></div><div><font face="'courier new', monospace"> location /subscribe {</font></div><div><font face="'courier new', monospace"> push_subscriber;</font></div><div><font face="'courier new', monospace"> set $push_channel_id $arg_id;</font></div>
<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace"> push_subscriber_concurrency broadcast;</font></div><div><font face="'courier new', monospace"> push_authorized_channels_only off;</font></div>
<div><font face="'courier new', monospace"> }</font></div><div><font face="'courier new', monospace"> }</font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">}</font></div>
</div></span><br></div>