Skip to content

Commit

Permalink
Merge pull request #2419 from mildebrandt/feature/1663
Browse files Browse the repository at this point in the history
Add additional logs when worker exits abnormally
  • Loading branch information
benoitc committed May 7, 2023
2 parents 5de82ce + ca36d41 commit 1fd1c82
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions gunicorn/arbiter.py
Expand Up @@ -532,6 +532,27 @@ def reap_workers(self):
reason = "App failed to load."
raise HaltServer(reason, self.APP_LOAD_ERROR)

if exitcode > 0:
# If the exit code of the worker is greater than 0,
# let the user know.
self.log.error("Worker (pid:%s) exited with code %s.",
wpid, exitcode)
elif status > 0:
# If the exit code of the worker is 0 and the status
# is greater than 0, then it was most likely killed
# via a signal.
try:
sig_name = signal.Signals(status).name
except ValueError:
sig_name = "code {}".format(status)
msg = "Worker (pid:{}) was sent {}!".format(
wpid, sig_name)

# Additional hint for SIGKILL
if status == signal.SIGKILL:
msg += " Perhaps out of memory?"
self.log.error(msg)

worker = self.WORKERS.pop(wpid, None)
if not worker:
continue
Expand Down

0 comments on commit 1fd1c82

Please sign in to comment.