Module: ResqueDuplicateless::Ext::Resque
- Included in:
- Resque
- Defined in:
- lib/resque-duplicateless/ext/resque.rb,
lib/resque-duplicateless/ext/resque/job.rb,
lib/resque-duplicateless/ext/resque/data_store.rb
Defined Under Namespace
Instance Method Summary collapse
-
#enqueue_to(queue, klass, *args) ⇒ Object
We need to rewrite enqueue_to in order to use enqueue_with-options.
-
#enqueue_uniquely(klass, *args) ⇒ Object
This method is basically a copy of “enqueue”, but it will make sure that the enqueue method happens uniquely using this plugin.
-
#enqueue_uniquely_to(queue, klass, *args) ⇒ Object
This is basically a copy of enqueue_to, but will make sure that the enqueue happens uniquely using this plugin.
-
#enqueue_with_options(options = {}) ⇒ Object
We are going to create a new “base” job creation method.
- #unique_push(queue, item) ⇒ Object
Instance Method Details
#enqueue_to(queue, klass, *args) ⇒ Object
We need to rewrite enqueue_to in order to use enqueue_with-options
16 17 18 |
# File 'lib/resque-duplicateless/ext/resque.rb', line 16 def enqueue_to(queue, klass, *args) :queue => queue, :class => klass, :args => args end |
#enqueue_uniquely(klass, *args) ⇒ Object
This method is basically a copy of “enqueue”, but it will make sure that the enqueue method happens uniquely using this plugin
11 12 13 |
# File 'lib/resque-duplicateless/ext/resque.rb', line 11 def enqueue_uniquely(klass, *args) enqueue_uniquely_to queue_from_class(klass), klass, *args end |
#enqueue_uniquely_to(queue, klass, *args) ⇒ Object
This is basically a copy of enqueue_to, but will make sure that the enqueue happens uniquely using this plugin
22 23 24 |
# File 'lib/resque-duplicateless/ext/resque.rb', line 22 def enqueue_uniquely_to(queue, klass, *args) :queue => queue, :class => klass, :args => args, :unique => true end |
#enqueue_with_options(options = {}) ⇒ Object
We are going to create a new “base” job creation method. This will allow us to send options into the enqueue function and, eventually, the Job.create function
28 29 30 31 32 |
# File 'lib/resque-duplicateless/ext/resque.rb', line 28 def ( = {}) surround_enqueue() do ::Resque::Job.() end end |
#unique_push(queue, item) ⇒ Object
5 6 7 |
# File 'lib/resque-duplicateless/ext/resque.rb', line 5 def unique_push(queue, item) data_store.uniquely_push_to_queue queue, encode(item) end |