Python:Flask uWSGI线程在进行网络调用时停止

时间:2014-06-05 07:35:42

标签: python multithreading flask uwsgi

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

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

烧瓶服务器有一个后台线程,它使用以下命令定期调用另一台服务器:

r = requests.get(...)

我在此命令之前和之后添加了日志记录,似乎命令永远不会返回,并且线程就在那里停止。

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

更新

  • 我在requests.get()中添加了一个timeout参数。现在行为是意外的 - 后台线程在一个服务器上运行,但在另一个服务器中运行。

1 个答案:

答案 0 :(得分:1)

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

似乎sudo service uwsgi stop实际上并未停止uwsgi的所有实例。