module Toro::Worker::ClassMethods
Public Instance Methods
create_job(item)
click to toggle source
# File lib/toro/worker.rb, line 21 def create_job(item) Toro::Client.create_job(normalize_job(item)) end
normalize_job(item)
click to toggle source
# File lib/toro/worker.rb, line 25 def normalize_job(item) name = respond_to?(:job_name) ? send(:job_name, *(item[:args])) : nil { class_name: self.name, name: name }.merge(item) end
perform_async(*args)
click to toggle source
# File lib/toro/worker.rb, line 8 def perform_async(*args) create_job(args: args, queue: queue) end
perform_at(time, *args)
click to toggle source
# File lib/toro/worker.rb, line 12 def perform_at(time, *args) create_job(args: args, queue: queue, scheduled_at: time, status: 'scheduled') end
perform_in(interval, *args)
click to toggle source
# File lib/toro/worker.rb, line 16 def perform_in(interval, *args) time = Time.now + interval perform_at(time, *args) end
queue()
click to toggle source
# File lib/toro/worker.rb, line 30 def queue toro_options[:queue] end
toro_options(options={})
click to toggle source
# File lib/toro/worker.rb, line 34 def toro_options(options={}) @toro_options ||= { queue: Toro.options[:default_queue], retry_interval: nil } @toro_options.merge!(options) @toro_options end