class Backburner::AsyncProxy

Class allows async task to be proxied

Public Class Methods

new(klazz, id=nil, opts={}) click to toggle source

Options include `pri` (priority), `delay` (delay in secs), `ttr` (time to respond)

@example

AsyncProxy.new(User, 10, :pri => 1000, :ttr => 1000)
# File lib/backburner/async_proxy.rb, line 16
def initialize(klazz, id=nil, opts={})
  @klazz, @id, @opts = klazz, id, opts
end

Public Instance Methods

method_missing(method, *args, &block) click to toggle source

Enqueue as job when a method is invoked

# File lib/backburner/async_proxy.rb, line 21
def method_missing(method, *args, &block)
  ::Backburner::Worker.enqueue(@klazz, [@id, method, *args], @opts)
end