about summary refs log tree commit diff
path: root/app/services
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2023-03-15 03:45:15 +0100
committerGitHub <noreply@github.com>2023-03-15 03:45:15 +0100
commit1d0ad558ff51ce3e42ef4e4c9a9bed3c4b722d0d (patch)
treef1ee5da8cf2755f4a16b6300e3f18a6965c84c63 /app/services
parented887271f3985b00d97139ae25b73b1f062666be (diff)
Change sidekiq-bulk's batch size from 10,000 to 1,000 jobs in one Redis call (#24034)
Diffstat (limited to 'app/services')
-rw-r--r--app/services/delete_account_service.rb4
-rw-r--r--app/services/remove_status_service.rb2
-rw-r--r--app/services/suspend_account_service.rb12
-rw-r--r--app/services/unsuspend_account_service.rb2
-rw-r--r--app/services/update_account_service.rb2
5 files changed, 11 insertions, 11 deletions
diff --git a/app/services/delete_account_service.rb b/app/services/delete_account_service.rb
index a2d535d26..190a72e5c 100644
--- a/app/services/delete_account_service.rb
+++ b/app/services/delete_account_service.rb
@@ -257,11 +257,11 @@ class DeleteAccountService < BaseService
   end
 
   def delete_actor!
-    ActivityPub::DeliveryWorker.push_bulk(delivery_inboxes) do |inbox_url|
+    ActivityPub::DeliveryWorker.push_bulk(delivery_inboxes, limit: 1_000) do |inbox_url|
       [delete_actor_json, @account.id, inbox_url]
     end
 
-    ActivityPub::LowPriorityDeliveryWorker.push_bulk(low_priority_delivery_inboxes) do |inbox_url|
+    ActivityPub::LowPriorityDeliveryWorker.push_bulk(low_priority_delivery_inboxes, limit: 1_000) do |inbox_url|
       [delete_actor_json, @account.id, inbox_url]
     end
   end
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb
index 45cfb75f4..ea799db57 100644
--- a/app/services/remove_status_service.rb
+++ b/app/services/remove_status_service.rb
@@ -88,7 +88,7 @@ class RemoveStatusService < BaseService
 
     status_reach_finder = StatusReachFinder.new(@status, unsafe: true)
 
-    ActivityPub::DeliveryWorker.push_bulk(status_reach_finder.inboxes) do |inbox_url|
+    ActivityPub::DeliveryWorker.push_bulk(status_reach_finder.inboxes, limit: 1_000) do |inbox_url|
       [signed_activity_json, @account.id, inbox_url]
     end
   end
diff --git a/app/services/suspend_account_service.rb b/app/services/suspend_account_service.rb
index 211544fea..cfb3eb583 100644
--- a/app/services/suspend_account_service.rb
+++ b/app/services/suspend_account_service.rb
@@ -31,13 +31,13 @@ class SuspendAccountService < BaseService
     # counterpart to this operation, i.e. you can't then force a remote
     # account to re-follow you, so this part is not reversible.
 
-    follows = Follow.where(account: @account).to_a
+    Follow.where(account: @account).find_in_batches do |follows|
+      ActivityPub::DeliveryWorker.push_bulk(follows) do |follow|
+        [Oj.dump(serialize_payload(follow, ActivityPub::RejectFollowSerializer)), follow.target_account_id, @account.inbox_url]
+      end
 
-    ActivityPub::DeliveryWorker.push_bulk(follows) do |follow|
-      [Oj.dump(serialize_payload(follow, ActivityPub::RejectFollowSerializer)), follow.target_account_id, @account.inbox_url]
+      follows.each(&:destroy)
     end
-
-    follows.each(&:destroy)
   end
 
   def distribute_update_actor!
@@ -45,7 +45,7 @@ class SuspendAccountService < BaseService
 
     account_reach_finder = AccountReachFinder.new(@account)
 
-    ActivityPub::DeliveryWorker.push_bulk(account_reach_finder.inboxes) do |inbox_url|
+    ActivityPub::DeliveryWorker.push_bulk(account_reach_finder.inboxes, limit: 1_000) do |inbox_url|
       [signed_activity_json, @account.id, inbox_url]
     end
   end
diff --git a/app/services/unsuspend_account_service.rb b/app/services/unsuspend_account_service.rb
index 70667308e..d851a0f70 100644
--- a/app/services/unsuspend_account_service.rb
+++ b/app/services/unsuspend_account_service.rb
@@ -41,7 +41,7 @@ class UnsuspendAccountService < BaseService
 
     account_reach_finder = AccountReachFinder.new(@account)
 
-    ActivityPub::DeliveryWorker.push_bulk(account_reach_finder.inboxes) do |inbox_url|
+    ActivityPub::DeliveryWorker.push_bulk(account_reach_finder.inboxes, limit: 1_000) do |inbox_url|
       [signed_activity_json, @account.id, inbox_url]
     end
   end
diff --git a/app/services/update_account_service.rb b/app/services/update_account_service.rb
index 71976ab00..4604d71b2 100644
--- a/app/services/update_account_service.rb
+++ b/app/services/update_account_service.rb
@@ -22,7 +22,7 @@ class UpdateAccountService < BaseService
   def authorize_all_follow_requests(account)
     follow_requests = FollowRequest.where(target_account: account)
     follow_requests = follow_requests.preload(:account).select { |req| !req.account.silenced? }
-    AuthorizeFollowWorker.push_bulk(follow_requests) do |req|
+    AuthorizeFollowWorker.push_bulk(follow_requests, limit: 1_000) do |req|
       [req.account_id, req.target_account_id]
     end
   end