Python Flask应用程序未随系统退出而退出

时间:2018-09-20 14:55:50

标签: python flask

我希望能够通过这样的http请求远程终止我的flask应用程序:

where

事情是行不通的。从终端我什么也没收到,好像它甚至没有处理请求。我知道sys.exit()只会引发SystemExit,所以我认为可能是它被某个地方捕获了。 os._exit(0)确实有效的事实也使我也这样认为。

我绊倒了一些愚蠢的东西吗?它实际上是一个错误并且有解决方法吗?如果可能的话,我不希望使用os._exit(0)。谢谢!

编辑:我不会说这个问题是重复的,因为公认的答案有所不同,另一个是13年以来的(与此同时,弗拉斯克走了很长一段路)

1 个答案:

答案 0 :(得分:0)

我认为没有错误。

烧瓶可能正在捕获所有异常,以便不停止主进程为应用程序提供服务。

正如您提到的,使用os._exit(0)即可完成工作。

据我所知,它被python2.7 / SocketServer.py捕获:

598         try:
599             self.finish_request(request, client_address)
600             self.shutdown_request(request)
601         except:
602             self.handle_error(request, client_address)
603             self.shutdown_request(request)

基本上可以捕获所有内容,但可以处理错误。

顺便说一句:我是唯一认为可以通过try / except / finally进行重构的人吗?