Sha256: 9d28cef8abf333fc2be0f054d6277934461ec131edbf60f93bf2d8c9a9115752

Contents?: true

Size: 534 Bytes

Versions: 3

Compression:

Stored size: 534 Bytes

Contents

require 'evernote-thrift'

module Resque
  module Plugins
    module RateLimitedQueue
      class EvernoteQueue < BaseApiQueue
        @queue = :evernote_api

        def self.perform(klass, *params)
          super
        rescue Evernote::EDAM::Error::EDAMSystemException => e
          raise unless e.errorCode == Evernote::EDAM::Error::EDAMErrorCode::RATE_LIMIT_REACHED
          pause_until(Time.now + 60 * e.rateLimitDuration.seconds)
          rate_limited_requeue(self, klass, *params)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
resque-rate_limited_queue-1.2.0 lib/resque/plugins/rate_limited_queue/apis/evernote_queue.rb
resque-rate_limited_queue-1.1.0 lib/resque/plugins/rate_limited_queue/apis/evernote_queue.rb
resque-rate_limited_queue-1.0.4 lib/resque/plugins/rate_limited_queue/apis/evernote_queue.rb