Sha256: 0ba9b71b69eb93d7d2d374d83b0cef3607f3661553b507ff621bb7f2eb41d14b

Contents?: true

Size: 682 Bytes

Versions: 1

Compression:

Stored size: 682 Bytes

Contents

# frozen_string_literal: true
module Apress
  module Api
    class FireCallbackJob
      include Resque::Integration
      extend Resque::Plugins::ExponentialBackoff

      queue :api_callbacks

      @retry_exceptions = {
        Apress::Api::Callbacks::FireCallbackError => [1, 60, 300, 3600],
        Apress::Api::Callbacks::RepeatCallbackError => 300
      }
      @ignore_exceptions = [Apress::Api::Callbacks::RepeatCallbackError]

      def self.perform(service, event, params)
        callback_class = "#{service}_client/fire_callback".camelize.constantize

        callback_class.call!(
          event: event,
          params: params
        )
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
apress-api-1.24.2 app/jobs/apress/api/fire_callback_job.rb