如何關閉tornado.web的Application


研究熱更新Python程序時,需要將已有的HTTP服務器重啟。

我的HTTP服務器是用tornado.web.Application生成的,這樣很簡單:

import tornado.web
webapp = Application(...)
webapp.listen(10000)

在熱更新時會提示端口已被使用,那么就需要關閉它。

搜索Application如何關閉,還真有一個“內存溢出”😂,How do I stop Tornado web server?

不過,最好的答案也沒能真正解決問題,只是把整個tornado都停止掉了,這未免太動粗了。

對Application各種dir,發現根本也沒有stop,頓生邪念,tornado這么不成熟?!

后看官方文檔發現,其實Application只是個代理人,它不是實際的HTTP對象。在它的listen方法調用后會返回一個HTTPServer對象,這才是關鍵。

需要把它保存起來,以后就可以stop了。

server=webapp.listen(10000)

server.stop()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM