Sha256: 8929eb919ba5ff75631e8ba7263d08c95a1d32b23ea31d5656158a3eb43f34c4

Contents?: true

Size: 290 Bytes

Versions: 39

Compression:

Stored size: 290 Bytes

Contents

module RetryOnError
  def retry_on_error(errors:, limit: 10)
    tries ||= 1
    yield
  rescue *errors => e
    if tries < limit
      message = "#{e}, attempt #{tries} of #{limit}"
      Imap::Backup::Logger.logger.debug message
      tries += 1
      retry
    end
    raise e
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
imap-backup-12.0.0 lib/retry_on_error.rb
imap-backup-11.1.0 lib/retry_on_error.rb
imap-backup-11.1.0.rc1 lib/retry_on_error.rb
imap-backup-11.0.1 lib/retry_on_error.rb
imap-backup-11.0.0 lib/retry_on_error.rb
imap-backup-11.0.0.rc1 lib/retry_on_error.rb
imap-backup-10.0.1 lib/retry_on_error.rb
imap-backup-10.0.0 lib/retry_on_error.rb
imap-backup-9.3.2 lib/retry_on_error.rb
imap-backup-9.4.0.pre1 lib/retry_on_error.rb
imap-backup-9.3.1 lib/retry_on_error.rb
imap-backup-9.3.0 lib/retry_on_error.rb
imap-backup-9.2.0 lib/retry_on_error.rb
imap-backup-9.1.1 lib/retry_on_error.rb
imap-backup-9.1.0 lib/retry_on_error.rb
imap-backup-9.0.2 lib/retry_on_error.rb
imap-backup-9.0.1.rc1 lib/retry_on_error.rb
imap-backup-9.0.0 lib/retry_on_error.rb
imap-backup-9.0.0.rc1 lib/retry_on_error.rb
imap-backup-8.0.2 lib/retry_on_error.rb