module Resque

Public Instance Methods

push(queue, item) click to toggle source

Override Resque's push method to add a timestemp to each enqueued item

# File lib/resque/plugins/analytics.rb, line 5
def push(queue, item)
  tries ||= 3
  item['analytics_timestamp'] = Time.now if item.is_a?(Hash) && !Resque::Plugins::Analytics.ignore_classes.include?(item[:class])
  redis.pipelined do
    watch_queue(queue)
    redis.rpush "queue:#{queue}", encode(item)
  end
rescue Redis::TimeoutError, Redis::CannotConnectError
  retry if (tries -= 1).nonzero?
end