class Dynamiq::Job
Attributes
item[R]
message[R]
queue[R]
Public Class Methods
new(queue, message = nil)
click to toggle source
# File lib/dynamiq/job.rb, line 5 def initialize(queue, message = nil) @queue = queue @message = message @item = message.is_a?(Hash) ? message : Sidekiq.load_json(message) end
Public Instance Methods
[](name)
click to toggle source
# File lib/dynamiq/job.rb, line 67 def [](name) @item.__send__(:[], name) end
acknowledge()
click to toggle source
# File lib/dynamiq/job.rb, line 63 def acknowledge # nothing to do end
args()
click to toggle source
# File lib/dynamiq/job.rb, line 43 def args @item['args'] end
delete()
click to toggle source
# File lib/dynamiq/job.rb, line 79 def delete deleted = Sidekiq.redis do |conn| rem_value = @value.dup rem_value.delete 'score' conn.zrem [:dynamic_queue, @queue].join(':'), rem_value.to_json end deleted ? 1 : 0 end
display_args()
click to toggle source
# File lib/dynamiq/job.rb, line 29 def display_args # Unwrap known wrappers so they show up in a human-friendly manner in the Web UI @args ||= case klass when /\ASidekiq::Extensions::Delayed/ safe_load(args[0], args) do |_, _, arg| arg end when "ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper" args[1..-1] else args end end
display_class()
click to toggle source
# File lib/dynamiq/job.rb, line 15 def display_class # Unwrap known wrappers so they show up in a human-friendly manner in the Web UI @klass ||= case klass when /\ASidekiq::Extensions::Delayed/ safe_load(args[0], klass) do |target, method, _| "#{target}.#{method}" end when "ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper" args[0] else klass end end
enqueued_at()
click to toggle source
# File lib/dynamiq/job.rb, line 55 def enqueued_at Time.at(@item['enqueued_at'] || 0).utc end
jid()
click to toggle source
# File lib/dynamiq/job.rb, line 47 def jid @item['jid'] end
klass()
click to toggle source
# File lib/dynamiq/job.rb, line 11 def klass @item['class'] end
latency()
click to toggle source
# File lib/dynamiq/job.rb, line 59 def latency Time.now.to_f - @item['enqueued_at'] end
queue_name()
click to toggle source
# File lib/dynamiq/job.rb, line 71 def queue_name queue.name end
requeue()
click to toggle source
# File lib/dynamiq/job.rb, line 75 def requeue queue.requeue message end
score()
click to toggle source
# File lib/dynamiq/job.rb, line 51 def score @item['score'] end