Commit 07e33089 authored by Douwe Maan's avatar Douwe Maan

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
parents 3d48d977 f4e94c6f
---
title: Make usage ping scheduling more robust
merge_request:
author:
type: fixed
...@@ -113,12 +113,14 @@ class Settings < Settingslogic ...@@ -113,12 +113,14 @@ class Settings < Settingslogic
URI.parse(url_without_path).host URI.parse(url_without_path).host
end end
# Random cron time every Sunday to load balance usage pings # Runs every minute in a random ten-minute period on Sundays, to balance the
def cron_random_weekly_time # 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) hour = rand(24)
minute = rand(60) minute = rand(6)
"#{minute} #{hour} * * 0" "#{minute}0-#{minute}9 #{hour} * * 0"
end end
end end
end end
...@@ -398,7 +400,7 @@ Settings.cron_jobs['stuck_import_jobs_worker'] ||= Settingslogic.new({}) ...@@ -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']['cron'] ||= '15 * * * *'
Settings.cron_jobs['stuck_import_jobs_worker']['job_class'] = 'StuckImportJobsWorker' 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'] ||= 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['gitlab_usage_ping_worker']['job_class'] = 'GitlabUsagePingWorker'
Settings.cron_jobs['schedule_update_user_activity_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['schedule_update_user_activity_worker'] ||= Settingslogic.new({})
......
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