我正在用Python运行Flask支持的服务器。该服务器具有多个POST和GET路由。一切正常运行了好几天,然后突然从客户端的角度变得无响应,即从客户端看来,服务器无法访问或未运行。从服务器端看,一切似乎都正常运行。我怀疑在操作系统级别(Windows Server 2012)上,TCP套接字可能会损坏,但是在服务器上没有收到任何异常通知。为了尝试摆脱这种状态,我添加了心跳POST,并且服务器端每2分钟定期进行检查,以检查是否有来自客户端的更新的心跳。如果不是这种情况(即过时的心跳),那么我的想法是杀死服务器端的所有线程(从python代码内部生成的CTRL-C),然后通过启动脚本从外部重新启动它。这是我要杀死服务器的方法:http://flask.pocoo.org/snippets/67/但是,在首次出现“ unreachable”状态时,看起来好像来自本地主机的GET / POST路由现在也没有响应。因此关闭永远不会触发。
现在我的问题是:调度程序生成的线程是否有办法杀死所有其他线程,包括Flask app.run线程?
非常感谢!
PB