在处理请求时,我的gunicorn工作人员超时。
这是一个很大的应用程序,我不确定它发生在哪里。
是否有一种简单的方法来记录所有函数调用,以便我可以看到它阻止的最后一个调用?
最佳答案
经过一番挖掘,我发现了一个名为 worker_exit
的gunicorn钩子(Hook),可以将其添加到配置文件中。当工作线程退出时(就像超时一样),会调用此钩子(Hook)。在钩子(Hook)中,调用 traceback.print_exc()
来打印堆栈跟踪。
# gunicorn.py
import traceback
def worker_exit(server, worker):
traceback.print_exc();
关于python - 在 python/django 应用程序中查找阻塞函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56452769/