Module: Que::PreventDuplicates::ClassMethods
- Defined in:
- lib/prevent_duplicates.rb
Instance Method Summary collapse
Instance Method Details
#enqueue(*args) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/prevent_duplicates.rb', line 10 def enqueue(*args) # Handle args same way que does if args.last.is_a?(Hash) = args.pop .delete(:queue) || '' if .key?(:queue) job_class = .delete(:job_class) .delete(:run_at) .delete(:priority) args << if .any? end md5 = Digest::MD5.hexdigest("#{job_class || to_s}#{args.to_json}") if ::QueJob.where("md5(job_class || args::text) = ?", md5).exists? return else super end end |