lib/upperkut/util.rb in upperkut-0.8.0 vs lib/upperkut/util.rb in upperkut-0.8.1
- old
+ new
@@ -34,7 +34,24 @@
def decode_json_items(items)
items.each_with_object([]) do |item, memo|
memo << Item.from_json(item) if item
end
end
+
+ def retry_block(retries_limit = 3, base_sleep = 2)
+ retries = 0
+
+ begin
+ yield
+ rescue StandardError => err
+ if retries < retries_limit
+ retries += 1
+ sleep_time = base_sleep**retries
+ Kernel.sleep(sleep_time)
+ retry
+ end
+
+ raise err
+ end
+ end
end
end