Module: Datadog::Workers::Queue
Overview
Adds queue behavior to workers, with a buffer to which items can be queued then dequeued.
Defined Under Namespace
Modules: PrependedMethods
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Instance Attribute Details
#buffer ⇒ Object
17
18
19
|
# File 'lib/ddtrace/workers/queue.rb', line 17
def buffer
@buffer ||= []
end
|
Class Method Details
.included(base) ⇒ Object
6
7
8
|
# File 'lib/ddtrace/workers/queue.rb', line 6
def self.included(base)
base.send(:prepend, PrependedMethods)
end
|
Instance Method Details
#dequeue ⇒ Object
25
26
27
|
# File 'lib/ddtrace/workers/queue.rb', line 25
def dequeue
buffer.shift
end
|
#enqueue(*args) ⇒ Object
21
22
23
|
# File 'lib/ddtrace/workers/queue.rb', line 21
def enqueue(*args)
buffer.push(args)
end
|
#work_pending? ⇒ Boolean
29
30
31
|
# File 'lib/ddtrace/workers/queue.rb', line 29
def work_pending?
!buffer.empty?
end
|