Sha256: 9e68e1961ae2f23d454d24031cf3a51d6faeb9d9e93530f65e8cc28d1644c01c

Contents?: true

Size: 450 Bytes

Versions: 5

Compression:

Stored size: 450 Bytes

Contents

require 'twitter'

module Resque
  module Plugins
    module RateLimited
      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

5 entries across 5 versions & 1 rubygems

Version Path
resque-rate_limited-1.2.4 lib/resque/plugins/rate_limited/apis/twitter_queue.rb
resque-rate_limited-1.2.3 lib/resque/plugins/rate_limited/apis/twitter_queue.rb
resque-rate_limited-1.2.2 lib/resque/plugins/rate_limited/apis/twitter_queue.rb
resque-rate_limited-1.2.0 lib/resque/plugins/rate_limited/apis/twitter_queue.rb
resque-rate_limited-1.1.0 lib/resque/plugins/rate_limited/apis/twitter_queue.rb