When PuSH subscribe attempts are exhausted, unsubscribe (#4422)
This commit is contained in:
		
							parent
							
								
									ff9d344d4c
								
							
						
					
					
						commit
						6e186b9c77
					
				
					 1 changed files with 7 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -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}"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue