diff options
author | Robert Speicher <robert@gitlab.com> | 2015-11-03 16:14:42 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2015-11-03 16:14:42 +0000 |
commit | cc40c7af4da01963b4939591cd8c5aa3ba617ba0 (patch) | |
tree | 10e61f781db9c5d9df46f1ed1c3c7c1bdc5e8d6b | |
parent | a74aba01b21b069906de1fb01347da9b3f5d2948 (diff) | |
parent | 2674a14becba89bb6b5259cd0ff3e5b29b724325 (diff) | |
download | gitlab-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-- | CHANGELOG | 3 | ||||
-rw-r--r-- | lib/ci/api/helpers.rb | 4 |
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 |