我有一个在uWSGI和NGINX后面运行的Flask应用程序偶尔会看到很长时间运行的请求。当然,无论何时发生这种情况,理想的解决方案就是解决导致这些请求运行这么长时间的问题。我正在努力,但也想让应用程序或服务器自己能够杀死运行时间过长的请求,以防长时间运行的请求通过某种方式通过,所以它们不会减慢一切否则。我已尝试修改部分uWSGI超时设置,但这些设置无法解决问题,我仍然会在New Relic中看到很长时间的运行请求:
uwsgi_connect_timeout = 2
uwsgi_send_timeout = 2
uwsgi_read_timeout = 2
我已经看到了一些关于让uWSGI工作人员在发生这种情况时被杀死并重新加载的事情,但我真的宁愿让请求被杀死而不需要重新启动工作人员。
此时我甚至不确定找到这种东西的适当位置。我在uWSGI或Flask中猜测它,但我想也提到NGINX,以防万一。