We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 5ace4e0 commit a5a8917Copy full SHA for a5a8917
src/job_queue.rb
@@ -1,5 +1,6 @@
1
# frozen_string_literal: true
2
3
+require_relative "queue_types"
4
require_relative "shared_state"
5
6
# A variation of `Thread::Queue` that allows us to prioritise certain types of jobs.
@@ -22,8 +23,9 @@ def pop
22
23
@mutex.synchronize do
24
loop do
25
running_long_build_count = SharedState.instance.running_jobs(@queue_type).count(&:long_build?)
26
+ long_build_slots = QueueTypes.slots(@queue_type) / 2
27
- if running_long_build_count < 6 && !@queue[:long].empty?
28
+ if running_long_build_count < long_build_slots && !@queue[:long].empty?
29
break @queue[:long].shift
30
elsif !@queue[:default].empty?
31
break @queue[:default].shift
0 commit comments