Module: Resque::Integration::Ordered

Defined in:
lib/resque/integration/ordered.rb

Defined Under Namespace

Modules: Overrides Classes: Uniqueness

Constant Summary collapse

ARGS_EXPIRATION =
1.week

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/resque/integration/ordered.rb', line 32

def self.extended(base)
  unless base.singleton_class.include?(::Resque::Integration::Unique)
    base.extend ::Resque::Integration::Unique
  end

  unless base.singleton_class.include?(::Resque::Integration::Continuous)
    base.extend ::Resque::Integration::Continuous
  end

  base.singleton_class.class_eval do
    attr_accessor :max_iterations, :uniqueness

    prepend Overrides
  end
end

Instance Method Details

#ordered_meta_id(args) ⇒ Object



137
138
139
# File 'lib/resque/integration/ordered.rb', line 137

def ordered_meta_id(args)
  Digest::SHA1.hexdigest([Time.now.to_f, rand, self, args].join)
end

#ordered_queue_key(meta_id) ⇒ Object



133
134
135
# File 'lib/resque/integration/ordered.rb', line 133

def ordered_queue_key(meta_id)
  "ordered:#{meta_id}"
end

#ordered_queue_size(meta_id) ⇒ Object



129
130
131
# File 'lib/resque/integration/ordered.rb', line 129

def ordered_queue_size(meta_id)
  Resque.redis.llen(ordered_queue_key(meta_id)).to_i
end