Module: Disqualified::Job::ClassMethods

Defined in:
lib/disqualified/job.rb

Instance Method Summary collapse

Instance Method Details

#perform_async(*args) ⇒ Object



20
21
22
# File 'lib/disqualified/job.rb', line 20

def perform_async(*args)
  perform_at(Time.now, *args)
end

#perform_at(the_time, *args) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/disqualified/job.rb', line 3

def perform_at(the_time, *args)
  if Thread.current[Disqualified::Sequence::UUID]
    Thread.current[Disqualified::Sequence::COUNT] += 1
    sequence_uuid = Thread.current[Disqualified::Sequence::UUID]
    sequence_step = Thread.current[Disqualified::Sequence::COUNT]
  end

  Disqualified::Record.create!(
    handler: name,
    arguments: JSON.dump(args),
    queue: "default",
    run_at: the_time,
    sequence_uuid:,
    sequence_step:
  )
end

#perform_in(delay, *args) ⇒ Object



24
25
26
# File 'lib/disqualified/job.rb', line 24

def perform_in(delay, *args)
  perform_at(Time.now + delay, *args)
end