module Resque::EnqueueTime

Public Class Methods

included(base) click to toggle source
# File lib/enqueue_time.rb, line 9
def self.included(base)
  base.class_eval do
    alias_method :push_without_enqueued_at, :push
    # Wrapper for the original Resque push method, which adds
    # enqueued_at time
    def push(queue, item)
      begin
        if item.respond_to?(:[]=)
          item[:enqueued_at] = Time.now
        end
      rescue Exception => e
        Rails.logger.error "Error in Resque::EnqueueTime: #{e.message}"
      end
      push_without_enqueued_at queue, item
    end
  end
end

Public Instance Methods

push(queue, item) click to toggle source

Wrapper for the original Resque push method, which adds enqueued_at time

# File lib/enqueue_time.rb, line 14
def push(queue, item)
  begin
    if item.respond_to?(:[]=)
      item[:enqueued_at] = Time.now
    end
  rescue Exception => e
    Rails.logger.error "Error in Resque::EnqueueTime: #{e.message}"
  end
  push_without_enqueued_at queue, item
end