Sha256: eda1a28a20ff58b667d2e7287d9010416f38c534b4e61b55c12258f3ccd0b0f9

Contents?: true

Size: 455 Bytes

Versions: 6

Compression:

Stored size: 455 Bytes

Contents

require 'twitter'

module Resque
  module Plugins
    module RateLimitedQueue
      class TwitterQueue < BaseApiQueue
        @queue = :twitter_api

        def self.perform(klass, *params)
          super
        rescue Twitter::Error::TooManyRequests,
               Twitter::Error::EnhanceYourCalm => e
          pause_until(Time.now + e.rate_limit.reset_in)
          rate_limited_requeue(self, klass, *params)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
resque-rate_limited_queue-1.2.0 lib/resque/plugins/rate_limited_queue/apis/twitter_queue.rb
resque-rate_limited_queue-1.1.0 lib/resque/plugins/rate_limited_queue/apis/twitter_queue.rb
resque-rate_limited_queue-1.0.4 lib/resque/plugins/rate_limited_queue/apis/twitter_queue.rb
resque-rate_limited_queue-1.0.3 lib/resque/plugins/rate_limited_queue/apis/twitter_queue.rb
resque-rate_limited_queue-1.0.2 lib/resque/plugins/rate_limited_queue/apis/twitter_queue.rb
resque-rate_limited_queue-1.0.0 lib/resque/plugins/rate_limited_queue/apis/twitter_queue.rb