./lib/sdb_dal/storage.rb in sdb_dal-0.0.4 vs ./lib/sdb_dal/storage.rb in sdb_dal-0.0.5

- old
+ new

@@ -78,24 +78,28 @@ end def create_bucket(bucket,headers={}) real_s3.create_bucket(bucket,headers) end def real_s3_put(bucket,key,object,attributes) - +x=nil 20.times do |i| begin - real_s3.put(bucket,key,S3::S3Object.new(object),attributes) - - return + x= real_s3.put(bucket,key,S3::S3Object.new(object),attributes) + + break rescue =>e s= "#{e.message}\n#{e.backtrace}" puts(s) puts "retrying s3 put #{i.to_s}" sleep(i*i) #try again end end + if x.http_response.code!="200" + + raise "bucket #{bucket} key #{key} response #{x.http_response.code}" + end end def delete(bucket,key) if @cache begin @cache[encode_key(bucket,key)]=nil \ No newline at end of file