Move sending account Delete to anyone but the account's followers to the pull̀ queue (#10016)

This commit is contained in:
ThibG 2019-02-12 05:10:43 +01:00 committed by Eugen Rochko
parent 0e513ff862
commit 99c4b5b75a
2 changed files with 14 additions and 1 deletions

View file

@ -102,6 +102,10 @@ class SuspendAccountService < BaseService
ActivityPub::DeliveryWorker.push_bulk(delivery_inboxes) do |inbox_url|
[delete_actor_json, @account.id, inbox_url]
end
ActivityPub::LowPriorityDeliveryWorker.push_bulk(low_priority_delivery_inboxes) do |inbox_url|
[delete_actor_json, @account.id, inbox_url]
end
end
def delete_actor_json
@ -117,7 +121,11 @@ class SuspendAccountService < BaseService
end
def delivery_inboxes
Account.inboxes + Relay.enabled.pluck(:inbox_url)
@delivery_inboxes ||= @account.followers.inboxes + Relay.enabled.pluck(:inbox_url)
end
def low_priority_delivery_inboxes
Account.inboxes - delivery_inboxes
end
def associations_for_destruction

View file

@ -0,0 +1,5 @@
# frozen_string_literal: true
class ActivityPub::LowPriorityDeliveryWorker < ActivityPub::DeliveryWorker
sidekiq_options queue: 'pull', retry: 8, dead: false
end