class FastlyNsq::PriorityThreadPool
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/fastly_nsq/priority_thread_pool.rb, line 6 def initialize(*) super @queue = FastlyNsq::PriorityQueue.new(:max) end
Public Instance Methods
ns_assign_worker(*args, &task)
click to toggle source
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
Calls superclass method
# File lib/fastly_nsq/priority_thread_pool.rb, line 29 def ns_assign_worker(*args, &task) super(args[1..-1], &task) end
ns_enqueue(*args, &task)
click to toggle source
tries to enqueue task @return [true, false] if enqueued
@!visibility private
# File lib/fastly_nsq/priority_thread_pool.rb, line 16 def ns_enqueue(*args, &task) if !ns_limited_queue? || @queue.size < @max_queue @queue.push([task, args[1..-1]], args[0]) true else false end end