def wakeup
      raise NotRunning.new unless running?
      if(@sleeper.waiters > 0)
        @sleeper.signal
      else
        @timer_thread.wakeup if @timer_thread.alive? && @timer_thread.stop?
      end
    end
def wakeup
      raise NotRunning.new unless running?
      if(@sleeper.waiters > 0)
        @sleeper.signal
      else
        @timer_thread.wakeup if @timer_thread.alive? && @timer_thread.stop?
      end
    end
pool:: ActionPool for processing actions
 Creates a new timer
 Argument hash: {:pool, :logger, :auto_start}
 Forcibly wakes the timer early