Class: Puma::ThreadPool::Automaton

Inherits:
Object
  • Object
show all
Defined in:
lib/puma/thread_pool.rb

Instance Method Summary collapse

Constructor Details

#initialize(pool, timeout, thread_name, message) ⇒ Automaton

Returns a new instance of Automaton.



345
346
347
348
349
350
351
# File 'lib/puma/thread_pool.rb', line 345

def initialize(pool, timeout, thread_name, message)
  @pool = pool
  @timeout = timeout
  @thread_name = thread_name
  @message = message
  @running = false
end

Instance Method Details

#start!Object



353
354
355
356
357
358
359
360
361
362
363
# File 'lib/puma/thread_pool.rb', line 353

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

#stopObject



365
366
367
368
# File 'lib/puma/thread_pool.rb', line 365

def stop
  @running = false
  @thread.wakeup
end