Sha256: ae04ab2ea6d4ddf72a4093947cf00da8c0911c7c3fd0e87b267e9776d3b7b667
Contents?: true
Size: 749 Bytes
Versions: 3
Compression:
Stored size: 749 Bytes
Contents
# frozen_string_literal: true class FastlyNsq::PriorityThreadPool < Concurrent::ThreadPoolExecutor alias_method :max_threads, :max_length def initialize(*) super @queue = FastlyNsq::PriorityQueue.new(:max) end # tries to enqueue task # @return [true, false] if enqueued # # @!visibility private def ns_enqueue(*args, &task) if !ns_limited_queue? || @queue.size < @max_queue @queue.push([task, args[1..]], args[0]) true else false end end # tries to assign task to a worker, tries to get one from @ready or to create new one # @return [true, false] if task is assigned to a worker # # @!visibility private def ns_assign_worker(*args, &task) super(args[1..], &task) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fastly_nsq-1.18.1 | lib/fastly_nsq/priority_thread_pool.rb |
fastly_nsq-1.18.0 | lib/fastly_nsq/priority_thread_pool.rb |
fastly_nsq-1.17.1 | lib/fastly_nsq/priority_thread_pool.rb |