Python:Tornado 第四章:Tornado网站部署:第一节:调试模式

news/2024/4/27 17:38:55/文章来源:https://blog.csdn.net/weixin_33979363/article/details/88719343
上一篇文章:Python:Tornado 第三章:HTML5 WebSocket概念及应用:第三节:客户端编程
下一篇文章:Python:Tornado 第四章:Tornado网站部署:第二节:静态文件

之前着重讲解Tornado的编程知识点,所有之前的例子都使用最简单的IOLoop启动方式运行。本节学习如何优化Tornado的运行方式,以达到快捷、易用及资源利用优化的目的。

到目前为止,本章通过如下方式启动tornado程序:

def make_app():return tornado.web.Application([#此处写入映射])
def main():app=make_app()  #建立Application对象app.listen(8888) #设置监听端口IOLoop.current().start()  #启动IOLoopif __name__ == '__main__':main()

通过这种方式启动的程序一旦出错,则只能通过Windows任务管理器或Linux命令行Kill掉Python进行。因为调试需要频繁地进行:启动→差错→停止→排错→重启...的迭代流程,所以这样简单的方法并不利于程序调试,本节学习如何简化调试流程。

1、自动加载

通过向Application实例传入参数debug=True,可以将程序以调试模式启动,例如:

def make_app():return tornado.web.Application([#此处写入映射],debug=True  #调试模式)

在这种模式下开发者可以获得如下便利:

  • 自动加载:对项目中任何*.py源文件的修改将导致程序自动重启并加载修改后的代码文件。这样极大地简化了开发者因为调试器需要频繁重启。
  • 错误追溯:当RequestHandler;处理用户访问出现异常时,系统的错误信息调用栈将被推送到浏览器中,使得调试者可以马上查找错误的根源。
  • 禁用模板缓存:在运营环境中模板缓存能提高效率,但在调试期间占用了更多的系统资源,所以将其禁用有利于开发者进行调试。
注意:在运营环境中不要开启Debug模式,这样会增加网站被攻击的危险。

2、Ctrl+C退出机制

在默认情况下Tornado的IOLoop不会响应Linux控制台的Ctrl+C命令,导致程序无法便捷地退出运行。

要响应Linux控制台的Ctrl+C命令,则可以在运行中捕获KeyboardInterrupt异常并调用IOLoop.stop()函数:

def main():app=make_app()  #建立Application对象app.listen(8888) #设置监听端口try:#启动IOLooptornado.ioloop.IOLoop.current().start()except KeyboardInterrupt:tornado.ioloop.IOLoop.current().stop()#此处执行资源回收工作print("Program exit!")if __name__ == '__main__':main()

这也在控制台发送了Ctrl+C请求后,程序可有机会回收系统的其它资源并退出执行。

注意:在Windows平台上,产生KeyboardInterrupt中断的方式是Ctrl+Pause

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_811870.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP建造一个高可用高性能的网站

2019独角兽企业重金招聘Python工程师标准>>> 1. 说到高可用的话要提一下redis,用过的都知道redis是一个具备数据库特征的nosql,正好弥补了PHP的瓶颈,个人认为PHP的 瓶颈在于数据库,像Apache和Nginx的高级web服务器在承…

PC比电脑好玩的秘密是什么?答案就是因为有这些神奇的网站!

五花八门小工具合集http://www.nicetool.net/ 该网站真的很“乱”!因为里面的小功能真的很多!无论是Gif制作、证件照换底色、还是搞笑的王思聪微博生成,它都能让你得心意手! 根据你的星座推荐电影https://magicmoviesorter.com/ 如…

10种AJAX/JavaScript特效实例让你的网站更吸引人

今天的话题是如何改进自己网站的界面或提高网站的视觉体验,从而让用户记忆犹新。   我们有三种主要的方法(从难到易):自己动手写脚本;使用类似于jQuery和mooTools的JavaScript框架(可以让编写代码变得更容易些);使用能工作于现有的JavaScript框架下的提前预置好的…

如何在IIS上发布网站

本片博客记录一下怎么用IIS发布一个网站,以我自己电脑上一个已经开发完成的网站为例: 1.打开项目 这是我电脑上的一个项目,现在我记录一下将这个项目发布到iis上的整个过程; 2.在vs2017中发布网站 如下图:右击该mvc程序…

网站服务全面监控

简单的方法:通过端口号或者进程数量 服务 端口 进程 Rsync 873 ? NFS 111? ? MySQL 3306 ? Nginx 80 ? 怎么监控端口? net.tcp.listen[port]检查 TCP 端口 是否处…

Kaggle案例——用python从进网站到获得评测结果

最近写了Kaggle的一个playground项目——预测科比投篮是否命中https://www.kaggle.com/c/kobe...,主要使用python的pandas和sklearn包。 这里和大家分享一下。 首先就是进入Kaggle官网https://www.kaggle.com/,Kaggle是一个专门数据竞赛的网站。经常会有…

PageAdmin CMS网站建设教程:自动任务执行时间设置

PageAdmin Cms发布文章时候有一个上线时间设置和下线时间设置,网站编辑人员可以利用这个功能来实现定时发布,在信息发布界面,如下图: 设置后就会自动加入定时任务中,注意这个功能需要再系统设置>>自动任务执行间…

10种AJAX/JavaScript特效实例让你的网站更吸引人

今天的话题是如何改进自己网站的界面或提高网站的视觉体验,从而让用户记忆犹新。我们有三种主要的方法(从难到易):自己动手写脚本;使用类似于jQuery和mooTools的JavaScript框架(可以让编写代码变得更容易些);使用能工作于现有的JavaScript框架下的提前预置好的脚本或…

国内在线学习网站汇总

2019独角兽企业重金招聘Python工程师标准>>> 一、什么是在线学习网站 在线学习是通过计算机互联网,或是通过手机无线网络,在一个网络虚拟教室进行网络授课、学习的方式。在线学习网站(社区)跟多是通过互联网的方式实现…

大型网站技术架构(四)网站的高性能架构

2019独角兽企业重金招聘Python工程师标准>>> 网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时…

推荐几个高质量图片网站,再也不怕没图装X了

这几个图片网站都是高质量的图片网站,建议收藏! 找个高逼格的图片发票圈,不再难了。 Unsplash 网址:https://unsplash.com Unsplash是一个免费高质量照片的网站,照片都是真实的摄影,照片分辨率也很大,全是生活中的景象作品,清新的…

关于最近学习的自动登录网站技术以及post get请求

下面要列出2段内容,一个是目前做的工作,一个是之后要继续进行的工作.(以后完成一部分工作就将后者放到前者内容里面去更新) 1.目前进行的工作: 其实模拟自动登录就是用httpwatch软件进行抓包,,找到你想要的页面,分析post get请求,然后用程序进行模拟就好了,难点就是这个分析抓包…

IOS破解软件,比较全的网站。

转载于:https://blog.51cto.com/14259888/2369621

mouseenter和mouseover的区别

mouseover:当鼠标移入目标元素或者移入目标元素的子元素,都会触发该事件。所以有一个重复触发,冒泡的过程。对应的一出事件mouseout。 mouseenter:当鼠标移入目标元素时(不包括子元素),会触发该…

好久没有更新了,上传一个网站上通用的验证效果的函数吧。

之前觉得在注册表单的时候,当填写表单失去焦点进行验证的效果很酷,自己也经历了很多的版本的改进,不过都是JS的代码,现在感觉已经成形了。所以发到网上让大家PK一下。 1/**//* 2 函数名:检验表单的函数 3 作者&a…

列出一些当前所见到过的基于sharepoint的漂亮的internet网站(update 2007-10-18)

老外的网站:传说中的夏威夷航空网站 一个食品网站一个提供解决方案的公司门户 update(10-18) 几个非常不错的 sharepoint网站 中文的: sharepoint爱好者易联工作室 sharepoint中国台湾的一个sharepoint教学网 update (2007-10-16) KenTCj的个人网站 转载…

为什么一个网站的资源会存在于多个域名中?

转自:http://www.toutiao.com/i6432298910575755777/ 大致可以这样理解,为什么一个网站的资源会存在于多个域名中? 在很多的网站中,如果我们打开开发者工具查看source选项,会发现下面会有很多个域名。例如某度首页的so…

Step by Step WebMatrix网站开发之二:使用WebMatrix(1)

第一次运行WebMatrix会看到如图1所示的窗口。 图1 第一次运行WebMatrix显示的窗口 我的网站 进入“我的网站”可看到自己设计过的网站。 从Web库创建网站 可以从“从Web库创建网站“中理由网络上开源的网站系统创建网站,如名气比较响的WordPress、phpwind等…

自定义事件和windows phone访问网站取得数据

昨天看了一位园友的自定义事件的文章,我以前学习过这方面的内容,但在实际工作中基本没用过自定义事件,前天就边看着,自己写了写代码把这个知识点复习了。下面上代码 事件类代码 public class EvevtClass:EventArgs {public st…

减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)...

在网站开发过程中,对于页面的加载效率一般都想尽办法求快。那么,怎么让才能更快呢?减少页面请求 是一个优化页面加载速度很好的方法。上一篇博文我们讲解了 “利用将小图标合成一张背景图来减少HTTP请求”,那么,这一篇…