class Concurrent::RubyThreadPoolExecutor

def ns_prune_pool

@!visibility private

try oldest worker if it is idle for enough time, it's returned back at the start
def ns_prune_pool
  return if @pool.size <= @min_length
  last_used = @ready.shift
  last_used << :idle_test if last_used
  @next_gc_time = Concurrent.monotonic_time + @gc_interval
end