From 5918c954aa7fa3b4c1c60a427022b15f2c656377 Mon Sep 17 00:00:00 2001
From: john-metabase <92878045+john-metabase@users.noreply.github.com>
Date: Fri, 28 Jan 2022 12:48:57 -0500
Subject: [PATCH] Updates stats job to run at a random time of day (#19828)

Thanks for the review/approvals.
---
 src/metabase/task/send_anonymous_stats.clj | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/metabase/task/send_anonymous_stats.clj b/src/metabase/task/send_anonymous_stats.clj
index 36dec2f72c3..4c12a0a7ca4 100644
--- a/src/metabase/task/send_anonymous_stats.clj
+++ b/src/metabase/task/send_anonymous_stats.clj
@@ -24,13 +24,16 @@
 
 (defmethod task/init! ::SendAnonymousUsageStats
   [_]
-  (let [job     (jobs/build
-                 (jobs/of-type SendAnonymousUsageStats)
-                 (jobs/with-identity (jobs/key job-key)))
-        trigger (triggers/build
-                 (triggers/with-identity (triggers/key trigger-key))
-                 (triggers/start-now)
-                 (triggers/with-schedule
-                   ;; run twice a day
-                   (cron/cron-schedule "0 15 7 * * ? *")))]
+  (let [job      (jobs/build
+                  (jobs/of-type SendAnonymousUsageStats)
+                  (jobs/with-identity (jobs/key job-key)))
+        ;; run at a random hour/minute
+        schedule (cron/cron-schedule
+                  (format "0 %d %d * * ? *"
+                          (rand-int 60)
+                          (rand-int 24)))
+        trigger  (triggers/build
+                  (triggers/with-identity (triggers/key trigger-key))
+                  (triggers/start-now)
+                  (triggers/with-schedule schedule))]
     (task/schedule-task! job trigger)))
-- 
GitLab