mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
Merge pull request #2277 from JordanP/graceful-enotconn
Do not raise and crash worker on ENOTCONN error
This commit is contained in:
commit
b7f2a82731
@ -73,11 +73,13 @@ class AsyncWorker(base.Worker):
|
|||||||
self.log.debug("Error processing SSL request.")
|
self.log.debug("Error processing SSL request.")
|
||||||
self.handle_error(req, client, addr, e)
|
self.handle_error(req, client, addr, e)
|
||||||
except EnvironmentError as e:
|
except EnvironmentError as e:
|
||||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET):
|
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||||
self.log.exception("Socket error processing request.")
|
self.log.exception("Socket error processing request.")
|
||||||
else:
|
else:
|
||||||
if e.errno == errno.ECONNRESET:
|
if e.errno == errno.ECONNRESET:
|
||||||
self.log.debug("Ignoring connection reset")
|
self.log.debug("Ignoring connection reset")
|
||||||
|
elif e.errno == errno.ENOTCONN:
|
||||||
|
self.log.debug("Ignoring socket not connected")
|
||||||
else:
|
else:
|
||||||
self.log.debug("Ignoring EPIPE")
|
self.log.debug("Ignoring EPIPE")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -285,11 +285,13 @@ class ThreadWorker(base.Worker):
|
|||||||
self.handle_error(req, conn.sock, conn.client, e)
|
self.handle_error(req, conn.sock, conn.client, e)
|
||||||
|
|
||||||
except EnvironmentError as e:
|
except EnvironmentError as e:
|
||||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET):
|
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||||
self.log.exception("Socket error processing request.")
|
self.log.exception("Socket error processing request.")
|
||||||
else:
|
else:
|
||||||
if e.errno == errno.ECONNRESET:
|
if e.errno == errno.ECONNRESET:
|
||||||
self.log.debug("Ignoring connection reset")
|
self.log.debug("Ignoring connection reset")
|
||||||
|
elif e.errno == errno.ENOTCONN:
|
||||||
|
self.log.debug("Ignoring socket not connected")
|
||||||
else:
|
else:
|
||||||
self.log.debug("Ignoring connection epipe")
|
self.log.debug("Ignoring connection epipe")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -146,11 +146,13 @@ class SyncWorker(base.Worker):
|
|||||||
self.log.debug("Error processing SSL request.")
|
self.log.debug("Error processing SSL request.")
|
||||||
self.handle_error(req, client, addr, e)
|
self.handle_error(req, client, addr, e)
|
||||||
except EnvironmentError as e:
|
except EnvironmentError as e:
|
||||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET):
|
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||||
self.log.exception("Socket error processing request.")
|
self.log.exception("Socket error processing request.")
|
||||||
else:
|
else:
|
||||||
if e.errno == errno.ECONNRESET:
|
if e.errno == errno.ECONNRESET:
|
||||||
self.log.debug("Ignoring connection reset")
|
self.log.debug("Ignoring connection reset")
|
||||||
|
elif e.errno == errno.ENOTCONN:
|
||||||
|
self.log.debug("Ignoring socket not connected")
|
||||||
else:
|
else:
|
||||||
self.log.debug("Ignoring EPIPE")
|
self.log.debug("Ignoring EPIPE")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user