forked from cybrespace/mastodon
		
	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
 | 
					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}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue