Implementing a non-blocking delay between request and response

agentzh agentzh at gmail.com
Fri Jan 15 05:33:18 MSK 2010


On Fri, Jan 15, 2010 at 9:47 AM, agentzh <agentzh at gmail.com> wrote:
> There's a known issue though. I should have registered a request
> cleanup handler to remove my own timers when requests abort
> abnormally.
>

My bad. I've just added such a test case to ngx_echo's test suite and
found that nginx won't check broken downstream connections by default
(at least for 0.8.32 and 0.7.64). So even if the client shut the
connection prematurely, nginx will go on waiting for our timers get
properly expired and quit the current session normally. If we do want
to quit eagerly we will have to register our own read/write event
handler to check broken connections ourselves, just like the
ngx_http_upstream_rd_check_broken_connection function used by
ngx_http_upstream.

Anyway, I've added cleanup handler to ngx_echo in my local checkout
and it will appear in mainstream soon.

Cheers,
-agentzh



More information about the nginx mailing list