Class: PgPipeline::Runtime::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/pg_pipeline/runtime/queue.rb

Instance Method Summary collapse

Constructor Details

#initializeQueue

Returns a new instance of Queue.



6
7
8
# File 'lib/pg_pipeline/runtime/queue.rb', line 6

def initialize
  @queue = ::Thread::Queue.new
end

Instance Method Details

#closeObject



21
22
23
24
# File 'lib/pg_pipeline/runtime/queue.rb', line 21

def close
  @queue.close
  nil
end

#closed?Boolean

Returns:

  • (Boolean)


26
# File 'lib/pg_pipeline/runtime/queue.rb', line 26

def closed? = @queue.closed?

#dequeueObject



17
18
19
# File 'lib/pg_pipeline/runtime/queue.rb', line 17

def dequeue
  @queue.pop
end

#empty?Boolean

Returns:

  • (Boolean)


27
# File 'lib/pg_pipeline/runtime/queue.rb', line 27

def empty? = @queue.empty?

#enqueue(item) ⇒ Object



10
11
12
13
14
15
# File 'lib/pg_pipeline/runtime/queue.rb', line 10

def enqueue(item)
  @queue.push(item)
  item
rescue ClosedQueueError
  nil
end

#sizeObject



28
# File 'lib/pg_pipeline/runtime/queue.rb', line 28

def size = @queue.size