commit: 6e186b9c77e7f23da6b46b901aace1c0b3b163ad
parent: ff9d344d4c25b43e320581f538b1edd196a0013b
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Fri, 28 Jul 2017 17:21:14 +0200
When PuSH subscribe attempts are exhausted, unsubscribe (#4422)
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git 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}"