Module: Routemaster::Responses::ResponsePromise::Pool
- Defined in:
- lib/routemaster/responses/response_promise.rb
Constant Summary collapse
- LOCK =
Mutex.new
Class Method Summary collapse
Class Method Details
._build_pool ⇒ Object
60 61 62 |
# File 'lib/routemaster/responses/response_promise.rb', line 60 def self._build_pool Concurrent::ThreadPoolExecutor.new(min_length: 5, max_length: 20, max_queue: 0, max_threads: 20, fallback_policy: :caller_runs) end |
.current ⇒ Object
45 46 47 48 49 |
# File 'lib/routemaster/responses/response_promise.rb', line 45 def self.current LOCK.synchronize do @pool ||= _build_pool end end |
.reset ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/routemaster/responses/response_promise.rb', line 51 def self.reset LOCK.synchronize do return unless @pool @pool.tap(&:shutdown).wait_for_termination @pool = nil end self end |