Commit d8dd25a6 authored by Dylan Griffith's avatar Dylan Griffith

Introduce Project#all_runners and use in Ci::UpdateBuildQueueService

parent dad35d62
...@@ -1304,10 +1304,13 @@ class Project < ActiveRecord::Base ...@@ -1304,10 +1304,13 @@ class Project < ActiveRecord::Base
@group_runners ||= group_runners_enabled? ? Ci::Runner.belonging_to_parent_group_of_project(self.id) : Ci::Runner.none @group_runners ||= group_runners_enabled? ? Ci::Runner.belonging_to_parent_group_of_project(self.id) : Ci::Runner.none
end end
def all_runners
union = Gitlab::SQL::Union.new([runners, group_runners, shared_runners])
Ci::Runner.from("(#{union.to_sql}) ci_runners")
end
def any_runners?(&block) def any_runners?(&block)
union = Gitlab::SQL::Union.new([runners, shared_runners, group_runners]) all_runners.active.any?(&block)
runners = Ci::Runner.from("(#{union.to_sql}) ci_runners").active
runners.any?(&block)
end end
def valid_runners_token?(token) def valid_runners_token?(token)
......
module Ci module Ci
class UpdateBuildQueueService class UpdateBuildQueueService
def execute(build) def execute(build)
tick_for(build, build.project.runners) tick_for(build, build.project.all_runners)
if build.project.group_runners_enabled?
tick_for(build, Ci::Runner.belonging_to_parent_group_of_project(build.project_id))
end
if build.project.shared_runners_enabled?
tick_for(build, Ci::Runner.shared)
end
end end
private private
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment