class GrpcKit::RpcDispatcher::AutoTrimmer

Public Class Methods

new(pool, interval: 30) click to toggle source
# File lib/grpc_kit/rpc_dispatcher/auto_trimmer.rb, line 6
def initialize(pool, interval: 30)
  @pool = pool
  @interval = interval
  @running = false
end

Public Instance Methods

start!() click to toggle source
# File lib/grpc_kit/rpc_dispatcher/auto_trimmer.rb, line 12
def start!
  @running = true
  @thread = Thread.new do
    loop do
      unless @running
        GrpcKit.logger.debug('Stop AutoTrimer')
        break
      end
      @pool.trim
      sleep @interval
    end
  end
end
stop() click to toggle source
# File lib/grpc_kit/rpc_dispatcher/auto_trimmer.rb, line 26
def stop
  @running = false
  @thread.wakeup
end