Nov 06 20:45:17 stderr: sent += sendfile(sockno, fileno, offset + sent, count)
Nov 06 20:45:17 stderr: File "/usr/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 179, in handle_request
Nov 06 20:45:17 stderr: BlockingIOError: [Errno 11] Resource temporarily unavailable
Nov 06 20:45:17 stderr: if not self.sendfile(respiter):
Nov 06 20:45:17 stderr: [2018-11-06 20:45:17 +0800] [561] [ERROR] Socket error processing request.
Nov 06 20:45:17 stderr: File "/usr/lib/python3.6/site-packages/gunicorn/http/wsgi.py", line 403, in write_file
Nov 06 20:45:17 stderr: File "/usr/lib/python3.6/site-packages/gunicorn/http/wsgi.py", line 393, in sendfile
Nov 06 20:45:17 stderr: raise value
Nov 06 20:45:17 stderr: resp.write_file(respiter)
Nov 06 20:45:17 stderr: File "/usr/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 191, in handle_request
Nov 06 20:45:17 stderr: Traceback (most recent call last):
Nov 06 20:45:17 stderr: self.handle_request(listener, req, client, addr)
Nov 06 20:45:17 stderr: File "/usr/lib/python3.6/site-packages/gunicorn/six.py", line 625, in reraise
Nov 06 20:45:17 stderr: six.reraise(*sys.exc_info())
Nov 06 20:45:17 stderr: File "/usr/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 135, in handle
传输大的文件或长连接时产生的错误,由于Gunicorn默认的alive时间只有2s。
解决:只需设置Gunicorn的 keep-alive 参数即可;