class Qless::RecurringJob
Wraps a recurring job
Attributes
backlog[R]
count[R]
data[R]
interval[R]
jid[R]
klass_name[R]
priority[R]
queue_name[R]
retries[R]
Public Class Methods
new(client, atts)
click to toggle source
Calls superclass method
Qless::BaseJob::new
# File lib/qless/job.rb, line 388 def initialize(client, atts) super(client, atts.fetch('jid')) %w{jid data priority tags retries interval count backlog}.each do |att| instance_variable_set("@#{att}".to_sym, atts.fetch(att)) end # Parse the data string @data = JSON.parse(@data) @klass_name = atts.fetch('klass') @queue_name = atts.fetch('queue') @tags = [] if @tags == {} end
Public Instance Methods
backlog=(value)
click to toggle source
# File lib/qless/job.rb, line 426 def backlog=(value) @client.call('recur.update', @jid, 'backlog', value.to_s) @backlog = value end
cancel()
click to toggle source
# File lib/qless/job.rb, line 437 def cancel @client.call('unrecur', @jid) end
data=(value)
click to toggle source
# File lib/qless/job.rb, line 416 def data=(value) @client.call('recur.update', @jid, 'data', JSON.dump(value)) @data = value end
interval=(value)
click to toggle source
# File lib/qless/job.rb, line 411 def interval=(value) @client.call('recur.update', @jid, 'interval', value) @interval = value end
klass=(value)
click to toggle source
# File lib/qless/job.rb, line 421 def klass=(value) @client.call('recur.update', @jid, 'klass', value.to_s) @klass_name = value.to_s end
last_spawned_jid()
click to toggle source
# File lib/qless/job.rb, line 449 def last_spawned_jid return nil if never_spawned? "#{jid}-#{count}" end
last_spawned_job()
click to toggle source
# File lib/qless/job.rb, line 454 def last_spawned_job return nil if never_spawned? @client.jobs[last_spawned_jid] end
move(queue)
click to toggle source
# File lib/qless/job.rb, line 431 def move(queue) @client.call('recur.update', @jid, 'queue', queue) @queue_name = queue end
Also aliased as: requeue
priority=(value)
click to toggle source
# File lib/qless/job.rb, line 401 def priority=(value) @client.call('recur.update', @jid, 'priority', value) @priority = value end
retries=(value)
click to toggle source
# File lib/qless/job.rb, line 406 def retries=(value) @client.call('recur.update', @jid, 'retries', value) @retries = value end
tag(*tags)
click to toggle source
# File lib/qless/job.rb, line 441 def tag(*tags) @client.call('recur.tag', @jid, *tags) end
untag(*tags)
click to toggle source
# File lib/qless/job.rb, line 445 def untag(*tags) @client.call('recur.untag', @jid, *tags) end
Private Instance Methods
never_spawned?()
click to toggle source
# File lib/qless/job.rb, line 461 def never_spawned? count.zero? end