Class: Threasy::Work::TimeoutQueue

Inherits:
Object
  • Object
show all
Includes:
Timeout
Defined in:
lib/threasy/work.rb

Instance Method Summary collapse

Constructor Details

#initializeTimeoutQueue

Returns a new instance of TimeoutQueue.



83
84
85
# File 'lib/threasy/work.rb', line 83

def initialize
  @queue = Queue.new
end

Instance Method Details

#clearObject



102
103
104
# File 'lib/threasy/work.rb', line 102

def clear
  @queue.clear
end

#pop(seconds = 5) ⇒ Object



92
93
94
95
96
# File 'lib/threasy/work.rb', line 92

def pop(seconds = 5)
  timeout(seconds) { @queue.pop }
rescue Timeout::Error
  nil
end

#push(item) ⇒ Object



87
88
89
90
# File 'lib/threasy/work.rb', line 87

def push(item)
  @queue << item
  true
end

#sizeObject



98
99
100
# File 'lib/threasy/work.rb', line 98

def size
  @queue.size
end