class AllQ::Job
Attributes
body[RW]
client[RW]
expireds[RW]
id[RW]
releases[RW]
tube[RW]
Public Class Methods
new(id, client, tube = nil, body = nil, expireds = nil, releases = nil)
click to toggle source
# File lib/allq/job.rb, line 5 def initialize(id, client, tube = nil, body = nil, expireds = nil, releases = nil) @body = body @id = id @tube = tube @expireds = expireds @releases = releases @client = client end
new_from_hash(hash, client)
click to toggle source
# File lib/allq/job.rb, line 66 def self.new_from_hash(hash, client) begin id = hash.fetch('job_id') body = hash.fetch('body') tube = hash.fetch('tube') expireds = hash.fetch('expireds') releases = hash.fetch('releases') job = Job.new(id, client, tube, body, expireds, releases) return job rescue => ex puts caller puts "Server value: #{hash}" puts "Can't create job, version mismatch?" puts "Invalid job data #{ex.message}" end end
Public Instance Methods
bury()
click to toggle source
# File lib/allq/job.rb, line 44 def bury @client.bury(self) end
delete()
click to toggle source
# File lib/allq/job.rb, line 28 def delete @client.delete(self) end
done()
click to toggle source
# File lib/allq/job.rb, line 24 def done @client.done(self) end
kick()
click to toggle source
# File lib/allq/job.rb, line 36 def kick @client.kick(self) end
release(delay = 0)
click to toggle source
# File lib/allq/job.rb, line 40 def release(delay = 0) @client.release(self, delay) end
stats()
click to toggle source
# File lib/allq/job.rb, line 59 def stats { "releases" => @releases, "expireds" => @expireds } end
to_hash()
click to toggle source
# File lib/allq/job.rb, line 14 def to_hash { 'job_id' => @id, 'body' => @body, 'tube' => @tube, 'expireds' => @expireds, 'releases' => @releases } end
to_json()
click to toggle source
# File lib/allq/job.rb, line 48 def to_json { id: @id, body: @body } end
to_s()
click to toggle source
# File lib/allq/job.rb, line 55 def to_s to_json.to_json end
touch()
click to toggle source
# File lib/allq/job.rb, line 32 def touch @client.touch(self) end