class Asynchronic::Job

Attributes

process[R]

Public Class Methods

enqueue(params={}) click to toggle source
# File lib/asynchronic/job.rb, line 8
def self.enqueue(params={})
  process = Asynchronic.environment.create_process self, params
  process.enqueue
  process.id
end
new(process) click to toggle source
# File lib/asynchronic/job.rb, line 14
def initialize(process)
  @process = process
end
queue(name=nil) click to toggle source
# File lib/asynchronic/job.rb, line 4
def self.queue(name=nil)
  name ? @queue = name : @queue
end

Public Instance Methods

params() click to toggle source
# File lib/asynchronic/job.rb, line 18
def params
  process.params
end
result(reference) click to toggle source
# File lib/asynchronic/job.rb, line 22
def result(reference)
  process[reference].result
end

Private Instance Methods

async(type, params={}) click to toggle source
# File lib/asynchronic/job.rb, line 30
def async(type, params={})
  process.nest type, params
  nil
end
get(key) click to toggle source
# File lib/asynchronic/job.rb, line 35
def get(key)
  process.get key
end
retry_when(exceptions, interval=1) { || ... } click to toggle source
# File lib/asynchronic/job.rb, line 43
def retry_when(exceptions, interval=1)
  yield
rescue *exceptions => ex
  Asynchronic.logger.error(self.class) { "Retry for: #{ex.class} #{ex.message}" }
  sleep interval
  retry
end
set(key, value) click to toggle source
# File lib/asynchronic/job.rb, line 39
def set(key, value)
  process.set key, value
end