module Datadog::Workers::Queue

Adds queue behavior to workers, with a buffer to which items can be queued then dequeued.

Attributes

buffer[W]

Public Class Methods

included(base) click to toggle source
# File lib/ddtrace/workers/queue.rb, line 7
def self.included(base)
  base.prepend(PrependedMethods)
end

Public Instance Methods

buffer() click to toggle source
# File lib/ddtrace/workers/queue.rb, line 18
def buffer
  @buffer ||= []
end
dequeue() click to toggle source
# File lib/ddtrace/workers/queue.rb, line 26
def dequeue
  buffer.shift
end
enqueue(*args) click to toggle source
# File lib/ddtrace/workers/queue.rb, line 22
def enqueue(*args)
  buffer.push(args)
end
work_pending?() click to toggle source

Are there more items to be processed next?

# File lib/ddtrace/workers/queue.rb, line 31
def work_pending?
  !buffer.empty?
end