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 6 def self.included(base) base.send(:prepend, PrependedMethods) end
Public Instance Methods
buffer()
click to toggle source
# File lib/ddtrace/workers/queue.rb, line 17 def buffer @buffer ||= [] end
dequeue()
click to toggle source
# File lib/ddtrace/workers/queue.rb, line 25 def dequeue buffer.shift end
enqueue(*args)
click to toggle source
# File lib/ddtrace/workers/queue.rb, line 21 def enqueue(*args) buffer.push(args) end
work_pending?()
click to toggle source
# File lib/ddtrace/workers/queue.rb, line 29 def work_pending? !buffer.empty? end