Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fixing broken pipe error in uWSGI with Python

Tags:

While hitting a REST resource (my_resource) in Python, the uWSGI server is throwing the following error in its log:

SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request my_resource (ip <my_ip>) !!!
uwsgi_response_write_body_do(): Broken pipe [core/writer.c line 164]
IOError: write error

It seems to be related to a timeout (the client disconnected before the request could finish processing).

What sort of timeout is this and how can it be fixed?

like image 692
Juan Carlos Coto Avatar asked Jun 10 '14 05:06

Juan Carlos Coto


1 Answers

it depends on your frontend server. For example nginx has the uwsgi_read_timeout parameter. (generally set to 60 seconds). The uWSGI http router as the --http-timeout default to 60 seconds and so on. As you are talking about a rest api i am quite doubtful it requires more than 60 seconds to generate a response, are you sure you do not have some wrong response header triggering a connection close by the frontend webserver ?

like image 54
roberto Avatar answered Oct 10 '22 00:10

roberto