我有一个在uWSGI之上运行的flask服务器,具有以下配置:

[uwsgi]
http-socket    = :9000
plugin         = python
wsgi-file      = /.../whatever.py
enable-threads = true


flask服务器具有一个后台线程,该线程使用以下命令定期调用另一台服务器:

r = requests.get(...)


我在此命令之前和之后添加了日志记录,似乎该命令永不返回,并且线程仅在此处停止。

知道为什么后台线程挂起了吗?请注意,我已将enable-threads = true添加到配置中。

更新


我已经向request.get()添加了一个超时参数。现在,这种行为是意外的-后台线程可在一台服务器上运行,而在另一台服务器上失败。

最佳答案

kill所有uWSGI实例并使用sudo service uwsgi restart重新启动它们解决了问题。

看来sudo service uwsgi stop实际上并没有停止uwsgi的所有实例。

09-30 14:36
查看更多