More robust PuSH subscription refreshes (#2799)
* Fix #2473 - Use sidekiq scheduler to refresh PuSH subscriptions instead of cron Fix an issue where / in domain would raise exception in TagManager#normalize_domain PuSH subscriptions refresh done in a round-robin way to avoid hammering a single server's hub in sequence. Correct handling of failures/retries through Sidekiq (see also #2613). Optimize Account#with_followers scope. Also, since subscriptions are now delegated to Sidekiq jobs, an uncaught exception will not stop the entire refreshing operation halfway through Fix #2702 - Correct user agent header on outgoing http requests * Add test for SubscribeService * Extract #expiring_accounts into method * Make mastodon:push:refresh no-op * Queues are now defined in sidekiq.yml * Queues are now in sidekiq.yml
This commit is contained in:
		
							
								
								
									
										14
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								Gemfile.lock
									
									
									
									
									
								
							@@ -143,6 +143,8 @@ GEM
 | 
			
		||||
      thread_safe
 | 
			
		||||
    encryptor (3.0.0)
 | 
			
		||||
    erubis (2.7.0)
 | 
			
		||||
    et-orbi (1.0.3)
 | 
			
		||||
      tzinfo
 | 
			
		||||
    execjs (2.7.0)
 | 
			
		||||
    fabrication (2.16.1)
 | 
			
		||||
    faker (1.7.3)
 | 
			
		||||
@@ -251,7 +253,7 @@ GEM
 | 
			
		||||
    oj (3.0.5)
 | 
			
		||||
    openssl (2.0.3)
 | 
			
		||||
    orm_adapter (0.5.0)
 | 
			
		||||
    ostatus2 (1.1.0)
 | 
			
		||||
    ostatus2 (2.0.0)
 | 
			
		||||
      addressable (~> 2.4)
 | 
			
		||||
      http (~> 2.0)
 | 
			
		||||
      nokogiri (~> 1.6)
 | 
			
		||||
@@ -386,6 +388,8 @@ GEM
 | 
			
		||||
      unicode-display_width (~> 1.0, >= 1.0.1)
 | 
			
		||||
    ruby-oembed (0.12.0)
 | 
			
		||||
    ruby-progressbar (1.8.1)
 | 
			
		||||
    rufus-scheduler (3.4.0)
 | 
			
		||||
      et-orbi (~> 1.0)
 | 
			
		||||
    safe_yaml (1.0.4)
 | 
			
		||||
    sanitize (4.4.0)
 | 
			
		||||
      crass (~> 1.0.2)
 | 
			
		||||
@@ -396,6 +400,11 @@ GEM
 | 
			
		||||
      connection_pool (~> 2.2, >= 2.2.0)
 | 
			
		||||
      rack-protection (>= 1.5.0)
 | 
			
		||||
      redis (~> 3.3, >= 3.3.3)
 | 
			
		||||
    sidekiq-scheduler (2.1.4)
 | 
			
		||||
      redis (~> 3)
 | 
			
		||||
      rufus-scheduler (~> 3.2)
 | 
			
		||||
      sidekiq (>= 3)
 | 
			
		||||
      tilt (>= 1.4.0)
 | 
			
		||||
    sidekiq-unique-jobs (5.0.7)
 | 
			
		||||
      sidekiq (>= 4.0, <= 6.0)
 | 
			
		||||
      thor (~> 0)
 | 
			
		||||
@@ -499,7 +508,7 @@ DEPENDENCIES
 | 
			
		||||
  microformats2
 | 
			
		||||
  nokogiri
 | 
			
		||||
  oj
 | 
			
		||||
  ostatus2 (~> 1.1)
 | 
			
		||||
  ostatus2 (~> 2.0)
 | 
			
		||||
  ox
 | 
			
		||||
  paperclip (~> 5.1)
 | 
			
		||||
  paperclip-av-transcoder
 | 
			
		||||
@@ -527,6 +536,7 @@ DEPENDENCIES
 | 
			
		||||
  ruby-oembed
 | 
			
		||||
  sanitize
 | 
			
		||||
  sidekiq
 | 
			
		||||
  sidekiq-scheduler
 | 
			
		||||
  sidekiq-unique-jobs
 | 
			
		||||
  simple-navigation
 | 
			
		||||
  simple_form
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user