benoitc/gunicorn

sendfile example does not use sendfile

Closed

#2,279 opened on Feb 27, 2020

 (4 comments) (0 reactions) (1 assignee)Python (1,707 forks)batch import
To Schedulegood first issue

Repository metrics

Stars
 (9,334 stars)
PR merge metrics
 (Avg merge 8h 8m) (1 merged PR in 30d)

Description

The sendfile example application does not actually result in a call to sendfile. I verified this by adding code to http/wsgi.py and also looking at the output of strace.

It works if I remove the @validator decorator on the app method in sendfile.py.

I guess this is because the worker is checking for an instance of the write type, but the type is not the same with the validator wrapper. workers/sync.py handle_request() says

if isinstance(respiter, environ['wsgi.file_wrapper']):

Contributor guide