首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >龙卷风在处理处理程序时如何处理远程关闭连接?

龙卷风在处理处理程序时如何处理远程关闭连接?
EN

Stack Overflow用户
提问于 2017-09-14 13:29:45
回答 1查看 179关注 0票数 0

我已经阅读了龙卷风ioloop和相关模块,以了解当套接字被接受,请求被解析和处理时,龙卷风会做什么。

我想知道龙卷风是否有可能在请求连接关闭后停止请求处理?

我构建了一个测试处理程序,get方法用于睡眠的时间为5秒(time.sleeo(5))。

然后我向龙卷风发送一些请求,所有请求都设置为读取超时3秒,我在龙卷风上找到了一些close_wait连接,几分钟后,这些连接正常关闭。

我猜5秒的处理程序是慢慢来的龙卷风的事件循环,当龙卷风处理第二个处理程序时,它的连接已经关闭,如果龙卷风知道,它不需要做下一步。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-16 14:35:01

  1. 不要在龙卷风应用程序中使用time.sleep();有关原因,请参见this question
  2. 当处理程序的耗时部分是非阻塞时,您可以定义一个方法on_connection_close(),该方法将在连接关闭时调用。通过此方法,您可以取消正在进行的工作。您必须自己实现取消,例如,在self.cancelled = True中设置on_connection_close,然后在正在进行的异步工作中定期检查该属性。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46220512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档