def run(self): for part in self.part_msg_list: if len(part) == 5: bucket = self.bucket file_name = part[1] if isinstance(file_name, unicode): filename = file_name.encode('utf-8') object_name = file_name retry_times = 5 is_skip = False while True: try: if retry_times <= 0: break res = self.oss.head_object(bucket, object_name) if res.status == 200: header_map = convert_header2map(res.getheaders()) etag = safe_get_element("etag", header_map) md5 = part[2] if etag.replace('"', "").upper() == md5.upper(): is_skip = True break except: retry_times = retry_times - 1 time.sleep(1) if is_skip: continue partsize = part[3] offset = part[4] retry_times = 5 while True: try: if retry_times <= 0: break res = self.oss.put_object_from_file_given_pos(bucket, object_name, self.file_path, offset, partsize) if res.status != 200: print "upload ", file_name, "failed!"," ret is:", res.status print "headers", res.getheaders() retry_times = retry_times - 1 time.sleep(1) else: break except: retry_times = retry_times - 1 time.sleep(1) else: print "ERROR! part", part , " is not as expected!"
def run(self): for part in self.part_msg_list: if len(part) == 5: bucket = self.bucket file_name = part[1] if isinstance(file_name, str): filename = file_name.encode('utf-8') object_name = file_name retry_times = self.retry_times is_skip = False while True: try: if retry_times <= 0: break res = self.oss.head_object(bucket, object_name) if res.status == 200: header_map = convert_header2map(res.getheaders()) etag = safe_get_element("etag", header_map) md5 = part[2] if etag.replace('"', "").upper() == md5.upper(): is_skip = True break except: retry_times = retry_times - 1 time.sleep(1) if is_skip: continue partsize = part[3] offset = part[4] retry_times = self.retry_times while True: try: if retry_times <= 0: break res = self.oss.put_object_from_file_given_pos(bucket, object_name, self.file_path, offset, partsize) if res.status != 200: print("upload ", file_name, "failed!", " ret is:", res.status) print("headers", res.getheaders()) retry_times = retry_times - 1 time.sleep(1) else: break except: retry_times = retry_times - 1 time.sleep(1) else: print("ERROR! part", part , " is not as expected!")
def run(self): for part in self.part_msg_list: if len(part) == 5: bucket = self.bucket file_name = part[1] object_name = file_name res = self.oss.head_object(bucket, object_name) if res.status == 200: header_map = convert_header2map(res.getheaders()) etag = safe_get_element("etag", header_map) md5 = part[2] if etag.replace('"', "").upper() == md5.upper(): continue partsize = part[3] offset = part[4] res = self.oss.put_object_from_file_given_pos(bucket, object_name, self.file_path, offset, partsize) if res.status != 200: print "upload ", file_name, "failed!"," ret is:", res.status print "headers", res.getheaders() else: print "ERROR! part", part , " is not as expected!"
def run(self): for part in self.part_msg_list: part_number = str(part[0]) if len(part) == 5: bucket = self.bucket object = self.object if part_number in self.uploaded_part_map: md5 = part[2] if self.uploaded_part_map[part_number].replace('"', "").upper() == md5.upper(): continue partsize = part[3] offset = part[4] retry_times = self.retry_times while True: try: if retry_times <= 0: break res = self.oss.upload_part_from_file_given_pos(bucket, object, self.file_path, offset, partsize, self.upload_id, part_number) if res.status != 200: self.logger.warn("Upload %s/%s from %s, failed! ret is:%s." %(bucket, object, self.file_path, res.status)) self.logger.warn("headers:%s" % res.getheaders()) retry_times = retry_times - 1 time.sleep(1) else: self.logger.info("Upload %s/%s from %s, OK! ret is:%s." % (bucket, object, self.file_path, res.status)) break except: retry_times = retry_times - 1 time.sleep(1) else: self.logger.error("ERROR! part %s is not as expected!" % part)
def run(self): for part in self.part_msg_list: part_number = str(part[0]) if len(part) == 5: bucket = self.bucket object = self.object if self.uploaded_part_map.has_key(part_number): md5 = part[2] if self.uploaded_part_map[part_number].replace('"', "").upper() == md5.upper(): continue partsize = part[3] offset = part[4] retry_times = 5 while True: try: if retry_times <= 0: break l.acquire() res = self.oss.upload_part_from_file_given_pos(bucket, object, self.file_path, offset, partsize, self.upload_id, part_number) l.release() if res.status != 200: print "upload ", bucket, object, self.file_path, "failed!"," ret is:", res.status print "headers", res.getheaders() retry_times = retry_times - 1 time.sleep(1) else: break except: retry_times = retry_times - 1 time.sleep(1) else: print "ERROR! part", part , " is not as expected!"