summaryrefslogtreecommitdiff
path: root/app/services/ci/update_build_queue_service.rb
blob: 4fb03d2fa1b48f02d0c441e446ad4a06a36b2668 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
module Ci
  class UpdateBuildQueueService
    def execute(build)
      build.project.runners.each do |runner|
        if runner.can_pick?(build)
          runner.tick_runner_queue
        end
      end

      if build.project.group_runners_enabled?
        Ci::Runner.belonging_to_group(build.project_id).each do |runner|
          if runner.can_pick?(build)
            runner.tick_runner_queue
          end
        end
      end

      if build.project.shared_runners_enabled?
        Ci::Runner.shared.each do |runner|
          if runner.can_pick?(build)
            runner.tick_runner_queue
          end
        end
      end
    end
  end
end