about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Figel <patrick@figel.email>2017-09-17 11:58:20 +0200
committerEugen Rochko <eugen@zeonfederated.com>2017-09-17 11:58:20 +0200
commit8811778b55023795deaa5d63a7bcfc94f7f50162 (patch)
treeb8cffdbe5befa52b3450b86ab67e2db12729604b
parent1eab53ee1030542a5c4c56203a61eecae9768131 (diff)
Randomize sidekiq-scheduler cron schedule (#4980)
SubscriptionsScheduler in particular causes high load across the
entire fediverse at 5 AM UTC every day. Randomizing cron schedules
and/or adding a random delay is considered best practice to avoid
this issue.
-rw-r--r--config/sidekiq.yml14
1 files changed, 7 insertions, 7 deletions
diff --git a/config/sidekiq.yml b/config/sidekiq.yml
index 5e4310e7e..4c35dcd43 100644
--- a/config/sidekiq.yml
+++ b/config/sidekiq.yml
@@ -7,23 +7,23 @@
   - mailers
 :schedule:
   subscriptions_scheduler:
-    cron: '0 5 * * *'
+    cron: '<%= Random.rand(0..59) %> <%= Random.rand(4..6) %> * * *'
     class: Scheduler::SubscriptionsScheduler
   media_cleanup_scheduler:
-    cron: '5 4 * * *'
+    cron: '<%= Random.rand(0..59) %> <%= Random.rand(3..5) %> * * *'
     class: Scheduler::MediaCleanupScheduler
   feed_cleanup_scheduler:
-    cron: '0 0 * * *'
+    cron: '<%= Random.rand(0..59) %> <%= Random.rand(0..2) %> * * *'
     class: Scheduler::FeedCleanupScheduler
   doorkeeper_cleanup_scheduler:
-    cron: '1 1 * * 0'
+    cron: '<%= Random.rand(0..59) %> <%= Random.rand(0..2) %> * * 0'
     class: Scheduler::DoorkeeperCleanupScheduler
   user_cleanup_scheduler:
-    cron: '4 5 * * *'
+    cron: '<%= Random.rand(0..59) %> <%= Random.rand(4..6) %> * * *'
     class: Scheduler::UserCleanupScheduler
   subscriptions_cleanup_scheduler:
-    cron: '2 2 * * 0'
+    cron: '<%= Random.rand(0..59) %> <%= Random.rand(1..3) %> * * 0'
     class: Scheduler::SubscriptionsCleanupScheduler
   ip_cleanup_scheduler:
-    cron: '0 4 * * *'
+    cron: '<%= Random.rand(0..59) %> <%= Random.rand(3..5) %> * * *'
     class: Scheduler::IpCleanupScheduler