熱加載這個概念我是在node中體驗的,python這麼強大的語言怎麼會沒有熱加載呢?抱着這個心態google了一番,發現有的人用supervisor做的熱加載,也是醉了,tornado那麼大的框架熱加載需要這麼複雜嗎?經過仔細研究發現實現tornado的熱加載很簡單。
感謝網友的糾正,tornado的並不是真正意義的“熱加載”,實時上是監測靜態文件的變動觸發自動重啓服務。
熱加載指的是不重啓服務,就可以更新服務中的變量和配置文件
如下圖,在application構造方法傳入debug=True就可以了。
import tornado.ioloop
import tornado.web
import tornado.autoreload
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("python jwt hot load!!!")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
], debug=True)
if __name__ == "__main__":
app = make_app()
port = 3001
print('start listen %d' % port)
app.listen(port)
tornado.ioloop.IOLoop.current().start()