书接上回,在本系列的第一部分,我们创建了一个helloword的应用,并且能够通过浏览器访问它,这样我们就可以用Tornado来开发网站了,嗯,这是可喜的第一步,不过当你决定了用tornado开发网站,并且开始写新的handler的时候,你会发现需要频繁的,关掉,再重新启动服务器,这是一件非常让人抓狂的事情,我们需要在程序修改后,服务能够自动reload新的代码,和asp.net一样。但是tornado的文档实在是有限,在文档上找不到相关的任何说明。
但是山穷水尽疑无路柳暗花明又一村,无意在源代码里发现了一个autoreload.py的文件
猜想其实tornado是可以自己reload的,不过文档里没有说明,但是autoreload要怎么用呢。打开这个文件,看到其实里面很简单,只有两个函数,如下图
第二个函数是私有的,所以实际上start就是唯一的入口,我们在代码中发现,_reload_on_update函数其实在start中被作为一个回调函数注册到了io_loop中了,所以实际上我们只需要把ioloop传入start就可以实现autoreload了。所以将
def main():
tornado.options.parse_command_line()
application = tornado.web.Application([
(r"/", MainHandler),
])
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
这些代码改为:
def main():
tornado.options.parse_command_line()
application = tornado.web.Application([
(r"/", MainHandler),
])
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(options.port)
loop=tornado.ioloop.IOLoop.instance()
tornado.autoreload.start(loop)
loop.start()
这样子就行了。
注意,这里的reload只检测py文件的变动,如果是其他文件发生变动,比如css,图片这些,都不会引发reload。
分享到:
相关推荐
人工智能-项目实践-tornado-基于Tornado实现,系统核心调度,可分布式扩展 修改配置 对settings 里面的配置文件进行修改,主要是数据库 缓存 消息队列 修改 doc/nginx_ops.conf 的server_name 例如 改为 task....
教程:使用Tornado构建,测试和分析高效的微服务 0.获取源代码 获取该教程的源代码: $ git clone https://github.com/scgupta/tutorial-python-microservice-tornado.git $ cd tutorial-python-microservice-...
总之,pysolr-tornado-4.0.0a2为Python开发者提供了一种高效的方式与Solr进行异步交互,提高了在高并发环境下的性能。通过理解和熟练使用这个库,开发者可以更好地构建和优化基于Solr的搜索应用。
Tornado 是一个强大的 Python Web 开发框架,以其高性能和异步网络I/O闻名。它最初由 FriendFeed 团队开发,后来被 Facebook 收购并开源。Tornado 的设计目标是处理大量的并发连接,尤其适合长连接和实时Web应用,如...
《PyPI官网下载 dp-tornado-0.3.9.tar.gz 深度解析》 在Python的世界里,PyPI(Python Package Index)是官方的软件仓库,它为开发者提供了无数的开源模块和库,方便他们构建自己的项目。本文将深入探讨PyPI上下载...
VxWorks 是由美国WRS (风河)公司开发的一个运行在目标机上的高性能、可裁剪的 嵌入式实时操作系统。目前我们使用的Tornado集成开发环境为设计VxWorks应用程序提供 了一套高效、实用的调试手段和方法。
**Python库Tornado 6.1...总的来说,Tornado是一个强大且灵活的工具,无论是在构建高性能的Web服务还是实时应用上,都展现出了其卓越的能力。对于Python开发者来说,熟练掌握Tornado能够极大地提升开发效率和应用性能。
Tornado是一款高性能、异步网络库,最初由FriendFeed开发,后被Facebook收购并开源。它以其非阻塞I/O模型和Web服务器能力在Python社区中广受欢迎,尤其适用于高并发场景。Tornado不仅是一个Web框架,还包含了一个...
Tornado全称Tornado Web Server,是一个用Python语 言写成的Web服 务器兼Web应用框架,由FriendFeed公 司 在自己的网站FriendFeed中使用,被Facebook收购 以后框架在2009年9月以开源软件形式开放给大众。 特点: 作为...
Tornado 是一个轻量级、高性能的 Web 服务器和异步网络库,特别适合于长连接和实时Web应用。 标题 "project-of-tornado.rar" 提示这是一个关于 Tornado 的项目压缩包,很可能包含了源代码、配置文件和其他相关资源...
Tornado Web框架是Python中的一个轻量级、高性能的异步网络库,适用于构建可处理大量并发连接的Web应用。Tornado以其非阻塞I/O模型和对WebSockets的良好支持而闻名,是构建实时Web服务的理想选择。 **RESTful API**...
**Tornado Web Server详解** Tornado Web Server,简称Tornado,是一个开源的、高性能的Web服务器和异步网络库,最初由...无论你是初学者还是经验丰富的开发者,Tornado都是构建高性能Web应用的一个值得考虑的工具。
在本篇【Python-tornado专栏中-18.Tornado-个人信息案例前端样式】中,我们将探讨如何使用Tornado框架构建一个包含前端样式的个人信息展示页面。Tornado是一个轻量级的Python Web服务器和异步网络库,常用于构建高...
《Python库Tornado-Swirl:构建高性能网络应用的利器》 Tornado-Swirl,一个基于Python的轻量级库,是Tornado框架的扩展,版本0.1.9,封装了Tornado的一些功能,旨在帮助开发者更高效地构建高性能、异步网络应用...
ubuntu-python3-whisper-tornado docker镜像,可下载直接使用