python - 在 python/django 应用程序中查找阻塞函数

标签 python django blocking

在处理请求时,我的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/

相关文章:

python - Pyqt 高亮表行

django - 在 Django 中用于 Comet 的库是什么?

java - 读取套接字输入流而没有传输结束字符?

csv - 大型 CSV Go channel 内存过多

java - 高流量时 Rest-API 响应时间增加

python - Django 模型 : mutual references between two classes and impossibility to use forward declaration in python

Python:字典和列表

python - pip3 因导入错误而崩溃

Django:使用正则表达式更新多个对象

django - 导入错误 : No module named django_filters