class PerfectQueue::Client

Attributes

backend[R]
config[R]

Public Class Methods

new(config) click to toggle source
# File lib/perfectqueue/client.rb, line 21
def initialize(config)
  @config = {}
  config.each_pair {|k,v| @config[k.to_sym] = v }

  @backend = Backend.new_backend(self, @config)

  @retention_time = @config[:retention_time] || 300
  @alive_time = @config[:alive_time] || 300
  @retry_wait = @config[:retry_wait] || 300  # TODO retry wait algorithm
end

Public Instance Methods

acquire(options={}) click to toggle source

:max_acquire => nil :alive_time => nil

# File lib/perfectqueue/client.rb, line 65
def acquire(options={})
  alive_time = options[:alive_time] || @alive_time
  max_acquire = options[:max_acquire] || 1

  @backend.acquire(alive_time, max_acquire, options)
end
close() click to toggle source
# File lib/perfectqueue/client.rb, line 106
def close
  @backend.close
end
finish(task_token, options={}) click to toggle source

:message => nil :retention_time => default_retention_time

# File lib/perfectqueue/client.rb, line 80
def finish(task_token, options={})
  retention_time = options[:retention_time] || @retention_time

  @backend.finish(task_token, retention_time, options)
end
force_finish(key, options={}) click to toggle source
# File lib/perfectqueue/client.rb, line 72
def force_finish(key, options={})
  retention_time = options[:retention_time] || @retention_time

  @backend.force_finish(key, retention_time, options)
end
get_task_metadata(key, options={}) click to toggle source
# File lib/perfectqueue/client.rb, line 39
def get_task_metadata(key, options={})
  @backend.get_task_metadata(key, options)
end
heartbeat(task_token, options={}) click to toggle source

:message => nil :alive_time => nil

# File lib/perfectqueue/client.rb, line 88
def heartbeat(task_token, options={})
  alive_time = options[:alive_time] || @alive_time

  @backend.heartbeat(task_token, alive_time, options)
end
init_database(options={}) click to toggle source
# File lib/perfectqueue/client.rb, line 35
def init_database(options={})
  @backend.init_database(options)
end
list(options={}, &block) click to toggle source
# File lib/perfectqueue/client.rb, line 51
def list(options={}, &block)
  @backend.list(options, &block)
end
preempt(key, options={}) click to toggle source

:message => nil :alive_time => @alive_time

# File lib/perfectqueue/client.rb, line 45
def preempt(key, options={})
  alive_time = options[:alive_time] || @alive_time

  @backend.preempt(key, alive_time, options)
end
release(task_token, options={}) click to toggle source
# File lib/perfectqueue/client.rb, line 94
def release(task_token, options={})
  alive_time = options[:alive_time] || 0

  @backend.release(task_token, alive_time, options)
end
retry(task_token, options={}) click to toggle source
# File lib/perfectqueue/client.rb, line 100
def retry(task_token, options={})
  alive_time = options[:retry_wait] || @retry_wait

  @backend.release(task_token, alive_time, options)
end
submit(key, type, data, options={}) click to toggle source

:run_at => Time.now :message => nil :user => nil :priority => nil

# File lib/perfectqueue/client.rb, line 59
def submit(key, type, data, options={})
  @backend.submit(key, type, data, options)
end