[Solved]-Gunicorn with max-request limit blocks on high load


Not really sure of what might be the issue here.

But, you can try debugging using the Server hooks like:

  • on_reload: Called to recycle workers during a reload via SIGHUP. The callable needs to accept a single instance variable for the Arbiter.

    def on_reload(server):
    #Print some debug message

  • worker_int: Called just after a worker exited on SIGINT or SIGQUIT.

    def worker_int(worker):
    #Print some debug message

  • pre_request: Called just before a worker processes the request.

    def pre_request(worker, req):
    #Print some debug message
    #worker.log.debug("%s %s" % (req.method, req.path))

  • post_request: Called after a worker processes the request.

    def post_request(worker, req, environ, resp):
    #Print some debug message

This might help you reach the root of the problem.

Reference in the gunicorn docs:

Leave a comment