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]
tags[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
requeue(queue)
Alias for: move
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