How to avoid blocking Nginx with long request
thierry.magnien at sfr.com
Wed Apr 10 13:26:15 UTC 2013
I'm writing an Nginx module that uses information stored in memory to redirect requests to other servers. Basically when a GET requests arrives, it makes some checks and decides to which Location the requests shall be redirected. In order to have Nginx update the information it holds in memory, I send him a specific POST request to trigger it.
However, reloading information takes quite a lot of time and I have some questions related with this:
- while the POST request is handled in my module, the worker that took the request is blocked until it has finished processing, but if GET requests come in, are they handled by other workers or can I have some GET requests getting blocked ?
- if I want the processing not to block, can I use an event timer, in order to release the worker quickly and have the processing take place "in background" ? Or will it block a worker anyway ?
More information about the nginx-devel