Search code examples
sslopensslcherrypycheroot

cheerypy server is timing out


I am running a CherryPy Local server. But After sometime server is timing out. I am new to CherryPy server and I found in error.log this message and unable to solve this issue.

CherryPy==18.8.0 Cherrot==8.6.0 Python==3.8.1

Traceback (most recent call last):
  File "C:\Users\test\Envs\eps\lib\site-packages\cheroot\server.py", line 1300, in communicate
    req.respond()
  File "C:\Users\test\Envs\eps\lib\site-packages\cheroot\server.py", line 1090, in respond
    self.server.gateway(self).respond()
  File "C:\Users\test\Envs\eps\lib\site-packages\cheroot\wsgi.py", line 145, in respond
    self.write(chunk)
  File "C:\Users\test\Envs\eps\lib\site-packages\cheroot\wsgi.py", line 231, in write
    self.req.write(chunk)
  File "C:\Users\test\Envs\eps\lib\site-packages\cheroot\server.py", line 1146, in write
    self.conn.wfile.write(chunk)
  File "C:\Users\test\Envs\eps\lib\site-packages\cheroot\makefile.py", line 438, in write
    res = super().write(val, *args, **kwargs)
  File "C:\Users\test\Envs\eps\lib\site-packages\cheroot\makefile.py", line 36, in write
    self._flush_unlocked()
  File "C:\Users\test\Envs\eps\lib\site-packages\cheroot\makefile.py", line 45, in _flush_unlocked
    n = self.raw.write(bytes(self._write_buf))
  File "c:\python381\lib\socket.py", line 687, in write
    return self._sock.send(b)
  File "c:\python381\lib\ssl.py", line 1173, in send
    return self._sslobj.write(data)
socket.timeout: The write operation timed out

Solution

  • You probably just need to increase the server.socket_timeout value in the config file that you give to Cherrypy on startup. The default value is 10 (seconds). Increasing it to a value appropriate for the large responses possible from my application worked for me.

    I ran into this problem recently and couldn't find this simple solution by searching on the error message. Hopefully the next person to experience this problem will see this.