最近我在开发一个Flask网站/ API应用程序,部署到Windows服务器上时出现了一些奇怪的问题。
当有人请求某个URL时,偶尔(大约10次中有3-4次)会出现挂起的情况。为了使该请求通过,我只需要进入命令行,启动Flask服务器,并发送一个中断信号(我在Windows上,所以基本上是“Ctrl + C”)。我已经谷歌搜索了一段时间,但我相信没有一个解决方案适用于这种情况。以下是我的尝试:
- 在
app.run()
中添加threaded=true
,如此处所建议的,不起作用。 - 在这篇文章中,作者提到一些浏览器可能会同时发起多个请求,从而使服务器困惑。这里可能也不适用,因为我尝试使用Python的
requests
库发出请求,仍然看到服务器挂起。 - 像这里所提到的那样使用Gevent或Tornado来服务应用程序也没有起作用。
- 尝试在Python 3和Python 2.7上进行,出现了相同的问题。
我的本地机器(win7 64位)和服务器基本上是相同的设置,但所有东西都正常工作。 (遇到问题的服务器是Windows Server 2012)
我很想分享一些代码,但我非常怀疑它可能是代码问题,因为本地环境完全正常。
有人之前经历过同样的问题吗?