Module: Resque::Plugins::UniqueJob::ClassMethods
- Defined in:
- lib/resque-loner/unique_job.rb
Overview
self.included
Instance Method Summary collapse
-
#redis_key(payload) ⇒ Object
Payload is what Resque stored for this job along with the job’s class name.
Instance Method Details
#redis_key(payload) ⇒ Object
Payload is what Resque stored for this job along with the job’s class name.
On a Resque with no plugins installed, this is a hash containing :class and :args
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/resque-loner/unique_job.rb', line 25 def redis_key(payload) payload = decode(encode(payload)) # This is the cycle the data goes when being enqueued/dequeued job = payload[:class] || payload["class"] args = (payload[:args] || payload["args"]) args.map! do |arg| arg.is_a?(Hash) ? arg.sort : arg end digest = Digest::MD5.hexdigest encode(:class => job, :args => args) digest end |