summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2015-11-03 16:14:42 +0000
committerRobert Speicher <robert@gitlab.com>2015-11-03 16:14:42 +0000
commitcc40c7af4da01963b4939591cd8c5aa3ba617ba0 (patch)
tree10e61f781db9c5d9df46f1ed1c3c7c1bdc5e8d6b
parenta74aba01b21b069906de1fb01347da9b3f5d2948 (diff)
parent2674a14becba89bb6b5259cd0ff3e5b29b724325 (diff)
downloadgitlab-ce-cc40c7af4da01963b4939591cd8c5aa3ba617ba0.tar.gz
Merge branch 'spread-runner-last-updated-at' into 'master'
Spread out runner contacted_at updates This is meant to prevent having too many concurrent UPDATE requests caused by runners checking in. See merge request !1722
-rw-r--r--CHANGELOG3
-rw-r--r--lib/ci/api/helpers.rb4
2 files changed, 6 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 2dec88899a3..a6ad48302ba 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -23,6 +23,9 @@ v 8.2.0 (unreleased)
- Add "added", "modified" and "removed" properties to commit object in webhook
- Rename "Back to" links to "Go to" because its not always a case it point to place user come from
+v 8.1.3
+ - Spread out runner contacted_at updates
+
v 8.1.1
- Fix cloning Wiki repositories via HTTP (Stan Hu)
- Add migration to remove satellites directory
diff --git a/lib/ci/api/helpers.rb b/lib/ci/api/helpers.rb
index e602cda81d6..7e4986b6af3 100644
--- a/lib/ci/api/helpers.rb
+++ b/lib/ci/api/helpers.rb
@@ -16,7 +16,9 @@ module Ci
end
def update_runner_last_contact
- if current_runner.contacted_at.nil? || Time.now - current_runner.contacted_at >= UPDATE_RUNNER_EVERY
+ # Use a random threshold to prevent beating DB updates
+ contacted_at_max_age = UPDATE_RUNNER_EVERY + Random.rand(UPDATE_RUNNER_EVERY)
+ if current_runner.contacted_at.nil? || Time.now - current_runner.contacted_at >= contacted_at_max_age
current_runner.update_attributes(contacted_at: Time.now)
end
end