Module: Rworkflow::SidekiqHelper::ClassMethods
- Defined in:
- lib/rworkflow/sidekiq_helper.rb
Instance Method Summary collapse
-
#enqueue_job(*params) ⇒ Object
Mix-in methods.
- #enqueue_job_at(at_time, *params) ⇒ Object
- #enqueue_job_in(time_diff, *params) ⇒ Object
- #enqueue_job_with_priority(priority, *params) ⇒ Object
- #inline_perform(params) ⇒ Object
- #should_perform_job_async? ⇒ Boolean
Instance Method Details
#enqueue_job(*params) ⇒ Object
Mix-in methods
12 13 14 |
# File 'lib/rworkflow/sidekiq_helper.rb', line 12 def enqueue_job(*params) enqueue_job_with_priority(nil, *params) end |
#enqueue_job_at(at_time, *params) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/rworkflow/sidekiq_helper.rb', line 24 def enqueue_job_at(at_time, *params) if should_perform_job_async? self.perform_at(at_time, *params) else inline_perform(params) end end |
#enqueue_job_in(time_diff, *params) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/rworkflow/sidekiq_helper.rb', line 32 def enqueue_job_in(time_diff, *params) if should_perform_job_async? self.perform_in(time_diff, *params) else inline_perform(params) end end |
#enqueue_job_with_priority(priority, *params) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/rworkflow/sidekiq_helper.rb', line 16 def enqueue_job_with_priority(priority, *params) if should_perform_job_async? self.perform_with_priority(priority, *params) else inline_perform(params) end end |
#inline_perform(params) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/rworkflow/sidekiq_helper.rb', line 44 def inline_perform(params) worker = self.new args = JSON.parse(params.to_json) jid = Digest::MD5.hexdigest((Time.now.to_f * 1000).to_i.to_s) worker.jid = jid worker.perform(*args) end |