Python中文
首页
教程
问答
标签
搜索
登录
注册
如何捕捉pythontornado中的写中止?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想通过Tornado流式传输一个长的数据库结果集。 显然我需要一个服务器游标,因为在内存中加载整个查询是不可行的。在</p> <p>所以我有以下代码:</p> <pre><code>class QueryStreamer(RequestHandler): def get(self): cursor.execute("Select * from ...") chunk = cursor.fetch(1000) while chunk: self.write(chunk) self.flush() chunk = cursor.fetch(1000) self.finish() cursor.close() </code></pre> <p>如果有人不读我的请求到最后?(即<code>curl ... |head</code>), <code>get</code>方法一直将我的数据流式传输到任何地方。我希望在某个时刻得到<code>SIGPIPE</code>并关闭数据库游标(而不是白运行它到最后)。在</p> <p>如何在Tornado中捕获写错误?在</p> <p><strong>更新</strong>:答案中的以下建议我尝试了以下方法:</p> ^{pr2}$ <p>我在终端1和终端2中运行这个文件,我调用:</p> <pre><code>curl -s http://localhost:8888/ping </code></pre> <p>在第一次响应之后,我点击了CTRL-C,但是在终端1中,我看到它很高兴地保持“pong”—ing,并且<code>on_connection_close</code>永远不会被调用。在</p> <p>底线-仍然不起作用。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>实现<a href="http://www.tornadoweb.org/en/stable/web.html#tornado.web.RequestHandler.on_connection_close" rel="nofollow">on_connection_close</a>方法,并让它停止<code>get</code>处理程序中的写循环。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Python中两个字典的交集
10 回答
python中两个字符串上的异或操作数?
3 回答
Python中两个字符串中的类似句子
7 回答
Python中两个字符串之间的Hamming距离
1 回答
python中两个字符串之间的匹配模式
5 回答
python中两个字符串之间的按位或
3 回答
python中两个字符串之间的数据(字节)切片
4 回答
python中两个字符串之间的模式
2 回答
python中两个字符串作为子字符串的区别
6 回答
Python中两个字符串元组的比较
3 回答
Python中两个字符串列表中的公共字符串
9 回答
python中两个字符串的Anagram测试
10 回答
Python中两个字符串的正则匹配
5 回答
python中两个字符串的笛卡尔乘积
6 回答
Python中两个字符串相似性的比较
9 回答
python中两个字符串语义相似度的求法
1 回答
Python中两个字符置换成固定长度的字符串,每个字符的数目相等
7 回答
Python中两个对数方程之间的插值和平滑数据
8 回答
Python中两个对象之间的And/Or运算符
4 回答
python中两个嵌套字典中相似键的和值
4 回答