使用botocore从AWS SQS队列中读取时的TypeError

时间:2015-08-03 09:02:44

标签: python-2.7 tornado amazon-sqs botocore

我正在使用带有tornado-botocore的Tornado服务器连接到Amazon SQS服务。 运行压力测试时,我们有时会遇到以下异常:

  

追踪(最近一次呼叫最后一次):

     

文件“/home/app/handlers/WebSocketsHandler.py”,第95行,在listen_outgoing_queue中

     

message = yield tornado.gen.Task(self.outgoing_queue.read)

     

文件“/home/local/lib/python2.7/site-packages/tornado/gen.py”,第870行,在运行中       value = future.result()

     

文件“/home/local/lib/python2.7/site-packages/tornado/concurrent.py”,第215行,结果       raise_exc_info(self._exc_info)

     

文件“/home/local/lib/python2.7/site-packages/tornado/stack_context.py”,第314行,包裹       ret = fn(* args,** kwargs)

     

文件“/home/local/lib/python2.7/site-packages/tornado_botocore/base.py”,第70行,在prepare_response中       response_dict,operation_model.output_shape)

     

文件“/home/local/lib/python2.7/site-packages/botocore/parsers.py”,第155行,解析       return self._do_error_parse(response,shape)

     

文件“/home/.env/local/lib/python2.7/site-packages/botocore/parsers.py”,第314行,在_do_error_parse中       root = self._parse_xml_string_to_dom(xml_contents)

     

文件“/home/local/lib/python2.7/site-packages/botocore/parsers.py”,第274行,在_parse_xml_string_to_dom中       parser.feed(xml_string)

     

TypeError:必须是字符串或只读缓冲区,而不是None

可能是由并发引起的吗? 有没有人遇到过这种行为?

我们正在使用龙卷风4.2.1,botocore 0.65.0和tonado-botocore 0.1.6

1 个答案:

答案 0 :(得分:-2)

一旦我从方法

中删除了@ tornado.gen.engine装饰器,

问题就解决了