2016-04-08 23 views
2

我正在運行官方節儉py:龍捲風演示,客戶端關閉傳輸後引發異常。節約龍捲風示例服務器異常

例如:https://github.com/apache/thrift/tree/master/tutorial/py.tornado

Starting the server... 
ping() 
add(1, 1) 
zip() 
zip() 
calculate(1, Work(comment=None, num1=1, num2=0, op=4)) 
calculate(1, Work(comment=None, num1=15, num2=10, op=2)) 
getStruct(1) 
ERROR:thrift.TTornado:thrift exception in handle_stream 
Traceback (most recent call last): 
    File "/Users/user/venv/py27/lib/python2.7/site-packages/thrift/TTornado.py", line 174, in handle_stream 
    frame = yield trans.readFrame() 
    File "/Users/user/venv/py27/lib/python2.7/site-packages/tornado/gen.py", line 1008, in run 
    value = future.result() 
    File "/Users/user/venv/py27/lib/python2.7/site-packages/tornado/concurrent.py", line 232, in result 
    raise_exc_info(self._exc_info) 
    File "/Users/user/venv/py27/lib/python2.7/site-packages/tornado/gen.py", line 1014, in run 
    yielded = self.gen.throw(*exc_info) 
    File "/Users/user/venv/py27/lib/python2.7/site-packages/thrift/TTornado.py", line 141, in readFrame 
    raise gen.Return(frame) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 35, in __exit__ 
    self.gen.throw(type, value, traceback) 
    File "/Users/user/venv/py27/lib/python2.7/site-packages/thrift/TTornado.py", line 125, in io_exception_context 
    message=str(e)) 
TTransportException: Stream is closed 

有什麼辦法避免這種錯誤味精或怎麼抓呢?

回答

0

很多原因會造成StreamClosedError

  1. 檢查節儉服務器端,可能會引發異常。
  2. 經過測試,我發現節儉THttpServer不能服務Tornado客戶端流。
  3. ,當我將龍捲風版本從4.4.3升級到4.5時,StreamClosedError消失。

客戶端版本節儉:0.10.0

龍捲風版本:4.5

客戶端Python版本:3.5.2

系統版本:Ubuntu的16.04