Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/ci/runner_manager.rb')
-rw-r--r--app/models/ci/runner_manager.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/app/models/ci/runner_manager.rb b/app/models/ci/runner_manager.rb
index e36024d9f5b..3a3f95a8c69 100644
--- a/app/models/ci/runner_manager.rb
+++ b/app/models/ci/runner_manager.rb
@@ -44,6 +44,10 @@ module Ci
remove_duplicates: false).where(created_some_time_ago)
end
+ scope :for_runner, ->(runner_id) do
+ where(runner_id: runner_id)
+ end
+
def self.online_contact_time_deadline
Ci::Runner.online_contact_time_deadline
end
@@ -52,6 +56,13 @@ module Ci
STALE_TIMEOUT.ago
end
+ def self.aggregate_upgrade_status_by_runner_id
+ joins(:runner_version)
+ .group(:runner_id)
+ .maximum(:status)
+ .transform_values { |s| Ci::RunnerVersion.statuses.key(s).to_sym }
+ end
+
def heartbeat(values, update_contacted_at: true)
##
# We can safely ignore writes performed by a runner heartbeat. We do
@@ -66,7 +77,7 @@ module Ci
end
new_version = values[:version]
- schedule_runner_version_update(new_version) if new_version && values[:version] != version
+ schedule_runner_version_update(new_version) if new_version && new_version != version
merge_cache_attributes(values)