Boto挂在s3键读

时间:2014-07-23 08:18:08

标签: python amazon-web-services amazon-ec2 amazon-s3 boto

使用boto阅读某些大型密钥时出现问题,而且我并未真正找到任何指出我所遇到的问题的文档。我已经在s3获得了一个关键的bson的3gb密钥,但是我从一个共同定位的ec2实例中读取了一个据说有10千兆位连接和244 gb内存的实例(一个r3.8xlarge),所以这不应该是问题。

代码转载如下,但通常想知道是否有提示表明读取实际正在进行,或者我们的连接是否存在根本性错误。

def redistribute(self):
    w_queue = mp.Queue()
    for bucket in self.buckets:
        for key in self.conn.get_bucket(bucket).list():
            documents = key.read().split('~#^#~')[:-1]  # Hangs on this line
            total = len(documents)
            i = 0.0
            documents = chunk(documents, 100)
            for chunk in documents:
                for line in chunk:
                    w_queue.put(line)
                pool = mp.Pool(processes=10)
                pool.apply_asynch(self.write, w_queue)
                w_queue.join()

Boto功能:

def read(self, size=0):
    self.open_read()
    if size == 0:
        data = self.resp.read()  # Specifically hangs on this line
    else:
        data = self.resp.read(size)
    if not data:
        self.close()
    return data

0 个答案:

没有答案