我正在编写一对简单的 WSGI 应用程序来了解标准,并且我想测试我的应用程序是否按预期工作。现在我正在尝试找出启动和停止托管这些应用程序的服务器的最佳方式。
我的第一个想法是在方法中启动SimpleServer
fromwsgiref
并在setUp
方法中关闭它tearDown
。由于serve_forever
块,我在单独的Thread
. 不幸的是,如果我serve_forever
用来启动服务器,它所在的辅助线程永远不会死掉,事实证明threading
并没有公开杀死Thread
.
现在我正在考虑使用这样的东西作为我run
在服务器中的实现Thread
:
while keep_going:
httpd.handle_request()
wherekeep_going
是我True
在 my 中setUp
设置并False
在 my中设置的变量tearDown
。
有没有更好的办法?我希望只使用标准库来编写这些应用程序和测试——以便更好地理解我在使用 lib/framework 时抽象出的内容——但这似乎很麻烦。
谢谢。