Module: CruLib::Async

Included in:
GlobalRegistryMethods
Defined in:
lib/cru_lib/async.rb

Instance Method Summary collapse

Instance Method Details

#async(method, *args) ⇒ Object



17
18
19
# File 'lib/cru_lib/async.rb', line 17

def async(method, *args)
  Sidekiq::Client.enqueue(self.class, id, method, *args)
end

#perform(id, method, *args) ⇒ Object

This will be called by a worker when a job needs to be processed



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/cru_lib/async.rb', line 5

def perform(id, method, *args)
  if id
    begin
      self.class.find(id).send(method, *args)
    rescue ActiveRecord::RecordNotFound
      # If the record was deleted after the job was created, swallow it
    end
  else
    self.class.send(method, *args)
  end
end