Class: Puma::ThreadPool::Automaton
- Inherits:
-
Object
- Object
- Puma::ThreadPool::Automaton
- Defined in:
- lib/puma/thread_pool.rb
Instance Method Summary collapse
-
#initialize(pool, timeout, thread_name, message) ⇒ Automaton
constructor
A new instance of Automaton.
- #start! ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize(pool, timeout, thread_name, message) ⇒ Automaton
Returns a new instance of Automaton.
293 294 295 296 297 298 299 |
# File 'lib/puma/thread_pool.rb', line 293 def initialize(pool, timeout, thread_name, ) @pool = pool @timeout = timeout @thread_name = thread_name @message = @running = false end |
Instance Method Details
#start! ⇒ Object
301 302 303 304 305 306 307 308 309 310 311 |
# File 'lib/puma/thread_pool.rb', line 301 def start! @running = true @thread = Thread.new do Puma.set_thread_name @thread_name while @running @pool.public_send(@message) sleep @timeout end end end |
#stop ⇒ Object
313 314 315 316 |
# File 'lib/puma/thread_pool.rb', line 313 def stop @running = false @thread.wakeup end |