diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-10-16 15:06:58 +0000 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2017-10-18 09:47:28 +0000 |
commit | f629db71b93603e043d8c254350b020907656672 (patch) | |
tree | 1f9c771d7978c5f89ac4abfc6aabc03a4484a08b | |
parent | 5b96af98521f583cb9a63270c4060f19095a86ac (diff) | |
download | gitlab-ce-f629db71b93603e043d8c254350b020907656672.tar.gz |
Merge branch '39017-gitlabusagepingworker-is-not-running-on-gitlab-com' into 'master'
Resolve "GitlabUsagePingWorker is not running on GitLab.com"
See merge request gitlab-org/gitlab-ce!14867
(cherry picked from commit 07e330896755b5a84f92042e7437ab78dfeeaae4)
f4e94c6f Make usage ping scheduling more robust
-rw-r--r-- | changelogs/unreleased/39017-gitlabusagepingworker-is-not-running-on-gitlab-com.yml | 5 | ||||
-rw-r--r-- | config/initializers/1_settings.rb | 12 |
2 files changed, 12 insertions, 5 deletions
diff --git a/changelogs/unreleased/39017-gitlabusagepingworker-is-not-running-on-gitlab-com.yml b/changelogs/unreleased/39017-gitlabusagepingworker-is-not-running-on-gitlab-com.yml new file mode 100644 index 00000000000..89506f88637 --- /dev/null +++ b/changelogs/unreleased/39017-gitlabusagepingworker-is-not-running-on-gitlab-com.yml @@ -0,0 +1,5 @@ +--- +title: Make usage ping scheduling more robust +merge_request: +author: +type: fixed diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index a4b7c1a3919..b790df565c6 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -113,12 +113,14 @@ class Settings < Settingslogic URI.parse(url_without_path).host end - # Random cron time every Sunday to load balance usage pings - def cron_random_weekly_time + # Runs every minute in a random ten-minute period on Sundays, to balance the + # load on the server receiving these pings. The usage ping is safe to run + # multiple times because of a 24 hour exclusive lock. + def cron_for_usage_ping hour = rand(24) - minute = rand(60) + minute = rand(6) - "#{minute} #{hour} * * 0" + "#{minute}0-#{minute}9 #{hour} * * 0" end end end @@ -398,7 +400,7 @@ Settings.cron_jobs['stuck_import_jobs_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['stuck_import_jobs_worker']['cron'] ||= '15 * * * *' Settings.cron_jobs['stuck_import_jobs_worker']['job_class'] = 'StuckImportJobsWorker' Settings.cron_jobs['gitlab_usage_ping_worker'] ||= Settingslogic.new({}) -Settings.cron_jobs['gitlab_usage_ping_worker']['cron'] ||= Settings.__send__(:cron_random_weekly_time) +Settings.cron_jobs['gitlab_usage_ping_worker']['cron'] ||= Settings.__send__(:cron_for_usage_ping) Settings.cron_jobs['gitlab_usage_ping_worker']['job_class'] = 'GitlabUsagePingWorker' Settings.cron_jobs['schedule_update_user_activity_worker'] ||= Settingslogic.new({}) |