is that possible to queue request one by one

Jossan Davis jossandavis at gmail.com
Mon Oct 29 05:22:58 UTC 2012


Hi,

thanks for your reply!


my current solution ismodified limit_con module.i add an counter in share
mem. when a request have a prev request it will blocked and recheck the
counter in 500ms by using nginx timer.


your solution is better than mine, but i still have a question .*a finished
request is how to notify a blocked request which is in the same worker?*
在 2012/10/29 11:08 AM,"chen cw" <crk_world at yahoo.com.cn>写道:

> On Fri, Oct 26, 2012 at 2:38 AM, Jossan Davis <jossandavis at gmail.com>wrote:
>
>> Hi
>>
>> nginx module limit_req only can limit request frequency by url param key.
>> it delay a request by  "ngx_add_timer(r->connection->write, delay)".
>>
>> my requirement is a little bit different. i need the next request be
>> process immediately after the prev one have done.
>> i have tried to use "ngx_http_cleanup_add". but it seem that the
>> ngx_http_request_t is not in shared mem,  i can't use
>> "ngx_add_timer(r->connection->write, 0)" to notify the next request.
>>
>>
> you can store the counter in share mem as module limit_req, and also store
> blocked requests list in global queue for each worker, such as module
> upstream_keeplive. so when you use "ngx_http_cleanup_add", you can get the
> ngx_http_request_t in such list. I think this method meets your requirement.
>
> --
>
> --
>
> Charles Chen
>
> Software Engineer
>
> Server Platforms Team at Taobao.com
>
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20121029/f01436a2/attachment.html>


More information about the nginx-devel mailing list