Module: RubyJob::Worker::ClassMethods

Defined in:
lib/ruby_job/worker.rb

Instance Method Summary collapse

Instance Method Details

#jobstoreObject



44
45
46
# File 'lib/ruby_job/worker.rb', line 44

def jobstore
  @jobstore || Worker.jobstore
end

#jobstore=(jobstore) ⇒ Object

Raises:

  • (ArgumentError)


38
39
40
41
42
# File 'lib/ruby_job/worker.rb', line 38

def jobstore=(jobstore)
  raise ArgumentError, 'argument provided is not a JobStore' unless jobstore.is_a?(JobStore)

  @jobstore = jobstore
end

#perform(*args) ⇒ Object



48
49
50
51
# File 'lib/ruby_job/worker.rb', line 48

def perform(*args)
  worker = new
  worker.send(:do_perform, *args)
end

#perform_async(*args) ⇒ Object



53
54
55
# File 'lib/ruby_job/worker.rb', line 53

def perform_async(*args)
  Job.new(worker_class_name: name, args: args).enqueue
end

#perform_at(at, *args) ⇒ Object



57
58
59
# File 'lib/ruby_job/worker.rb', line 57

def perform_at(at, *args)
  Job.new(worker_class_name: name, args: args, start_at: at).enqueue
end

#perform_in(in_ms, *args) ⇒ Object



61
62
63
64
# File 'lib/ruby_job/worker.rb', line 61

def perform_in(in_ms, *args)
  at = Time.now + in_ms.to_f / 1000
  Job.new(worker_class_name: name, args: args, start_at: at).enqueue
end