diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-07-28 17:21:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-28 17:21:14 +0200 |
commit | 6e186b9c77e7f23da6b46b901aace1c0b3b163ad (patch) | |
tree | 3a8ef12f20093ea48e19b7145471dcc80596f0d0 /app/workers | |
parent | ff9d344d4c25b43e320581f538b1edd196a0013b (diff) |
When PuSH subscribe attempts are exhausted, unsubscribe (#4422)
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/pubsubhubbub/subscribe_worker.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/app/workers/pubsubhubbub/subscribe_worker.rb b/app/workers/pubsubhubbub/subscribe_worker.rb index 9178079d4..7560c2671 100644 --- a/app/workers/pubsubhubbub/subscribe_worker.rb +++ b/app/workers/pubsubhubbub/subscribe_worker.rb @@ -3,7 +3,7 @@ class Pubsubhubbub::SubscribeWorker 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| case count @@ -18,6 +18,12 @@ class Pubsubhubbub::SubscribeWorker 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) account = Account.find(account_id) logger.debug "PuSH re-subscribing to #{account.acct}" |