Module: Massive::Retry
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
Instance Method Details
#retrying(&block) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/massive/retry.rb', line 17 def (&block) self.retries = 0 begin block.call rescue Massive::Cancelled, SignalException # re-raise cancelled and signal exceptions since they are not an actual error raise rescue StandardError => e self.retries += 1 if self.retries < self.class.maximum_retries Kernel.sleep self.class.retry_interval retry else raise e end end end |