When PuSH subscribe attempts are exhausted, unsubscribe (#4422)

This commit is contained in:
Eugen Rochko 2017-07-28 17:21:14 +02:00 committed by GitHub
parent ff9d344d4c
commit 6e186b9c77
1 changed files with 7 additions and 1 deletions

View File

@ -3,7 +3,7 @@
class Pubsubhubbub::SubscribeWorker class Pubsubhubbub::SubscribeWorker
include Sidekiq::Worker include Sidekiq::Worker
sidekiq_options queue: 'push', retry: 10, unique: :until_executed sidekiq_options queue: 'push', retry: 10, unique: :until_executed, dead: false
sidekiq_retry_in do |count| sidekiq_retry_in do |count|
case count case count
@ -18,6 +18,12 @@ class Pubsubhubbub::SubscribeWorker
end end
end end
sidekiq_retries_exhausted do |msg, _e|
account = Account.find(msg['args'].first)
logger.error "PuSH subscription attempts for #{account.acct} exhausted. Unsubscribing"
::UnsubscribeService.new.call(account)
end
def perform(account_id) def perform(account_id)
account = Account.find(account_id) account = Account.find(account_id)
logger.debug "PuSH re-subscribing to #{account.acct}" logger.debug "PuSH re-subscribing to #{account.acct}"