Sha256: 7d0bc2854e69182ebcadbe67ab100abdac297823e290d8f243c00f5f96775a0d

Contents?: true

Size: 599 Bytes

Versions: 1

Compression:

Stored size: 599 Bytes

Contents

require 'aws-sdk-rds'

class RdsRotateDbSnapshots
  module ActionWrappers
    def with_backoff(*method_names)
      method_names.each do |m|
        wrapper = Module.new do
          define_method(m) do |*args|
            reset_backoff
            begin
              super(*args)
            rescue Aws::RDS::Errors::ServiceError => e
              raise if e.is_a? Aws::RDS::Errors::ExpiredToken

              # TODO: re-work
              puts "Error: #{e}"
              backoff
              retry
            end
          end
        end
        prepend wrapper
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rds-rotate-db-snapshots-0.5.2 lib/rds_rotate_db_snapshots/action_wrappers.rb