【发布时间】:2014-01-13 17:10:23
【问题描述】:
我能找到的有关此方法的所有文档都说 Queue.write 返回 True 或 False,具体取决于写入是否成功,但这与现实不符。
文档说:
如果一切顺利,write 方法会返回 True。如果写 没有成功它会返回一个 False (意味着 SQS 只是选择了 出于某种原因不写消息)或例外,如果有 请求存在某种问题。
但实际上该方法只是简单地返回传入的消息。这是来自https://github.com/boto/boto/blob/develop/boto/sqs/queue.py的相关源代码:
def write(self, message, delay_seconds=None):
"""
Add a single message to the queue.
:type message: Message
:param message: The message to be written to the queue
:rtype: :class:`boto.sqs.message.Message`
:return: The :class:`boto.sqs.message.Message` object that was written.
"""
new_msg = self.connection.send_message(self,
message.get_body_encoded(),
delay_seconds)
message.id = new_msg.id
message.md5 = new_msg.md5
return message
那么我的问题是:我如何真正判断写入是否成功?
【问题讨论】:
标签: python amazon-web-services boto amazon-sqs