我有一个在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
的所有实例。