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