./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