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.



122
123
124
# File 'lib/threasy/work.rb', line 122

def initialize
  @queue = Queue.new
end

Instance Method Details

#clearObject



141
142
143
# File 'lib/threasy/work.rb', line 141

def clear
  @queue.clear
end

#pop(seconds = 5) ⇒ Object



131
132
133
134
135
# File 'lib/threasy/work.rb', line 131

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

#push(item) ⇒ Object



126
127
128
129
# File 'lib/threasy/work.rb', line 126

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

#sizeObject



137
138
139
# File 'lib/threasy/work.rb', line 137

def size
  @queue.size
end