Welcome! Log In Create A New Profile

Advanced

Re: Reading large request body using ngx_http_read_client_request_body

May 20, 2019 03:04PM
Thanks for your comments, Maxim. I truly appreciate it.

For first comment, the reason I chose to do request processing on thread is so it wouldn't block nginx. We launch one thread per request (from content handler). There will never will be multiple threads working on a request. r is passed onto a thread callback. Inside that callback, we extract headers, request body etc. from r and store it in our own objects. Then we do some compute (business logic) and then generate a response and write to output buffers of r. Then thread returns and its completion handler is called by nginx. In the completion handler we finalize request (with NGX_DONE). Assumption here is that nginx wouldn't be messing with object r as long as our thread is executing (since we haven't finalized request yet). With this context, If you still think this isn't correct (and because of thread, I am seeing issue in reading body for large content size), I'll be go ahead and change my code and not use nginx functions on thread.

For second comment - I may have not it explained correctly in my first post, but we do not call finalize request until thread finishes.
Subject Author Posted

Reading large request body using ngx_http_read_client_request_body

NginxNewbee May 18, 2019 05:10PM

Re: Reading large request body using ngx_http_read_client_request_body

Maxim Dounin May 20, 2019 10:00AM

Re: Reading large request body using ngx_http_read_client_request_body

NginxNewbee May 20, 2019 03:04PM

Re: Reading large request body using ngx_http_read_client_request_body

Maxim Dounin May 20, 2019 03:42PM

Re: Reading large request body using ngx_http_read_client_request_body

NginxNewbee May 20, 2019 04:35PM

Re: Reading large request body using ngx_http_read_client_request_body

NginxNewbee May 21, 2019 12:28AM

Re: Reading large request body using ngx_http_read_client_request_body

Patrick May 21, 2019 12:48AM

Re: Reading large request body using ngx_http_read_client_request_body

Maxim Dounin May 21, 2019 08:52AM

Re: Reading large request body using ngx_http_read_client_request_body

NginxNewbee May 21, 2019 12:53PM

Re: Reading large request body using ngx_http_read_client_request_body

NginxNewbee May 24, 2019 05:15PM

Re: Reading large request body using ngx_http_read_client_request_body

Maxim Dounin May 27, 2019 09:30AM

Re: Reading large request body using ngx_http_read_client_request_body

NginxNewbee May 28, 2019 06:19PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 147
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready