Fix configuration for sidekiq-unique-jobs after 7.x upgrade (#15908)
Remove locks from scheduled jobs
This commit is contained in:
		
							parent
							
								
									33198d8c05
								
							
						
					
					
						commit
						e89e976e92
					
				
					 12 changed files with 30 additions and 14 deletions
				
			
		| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::BackupCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    old_backups.reorder(nil).find_each(&:destroy!)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::DoorkeeperCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    Doorkeeper::AccessToken.where('revoked_at IS NOT NULL').where('revoked_at < NOW()').delete_all
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::EmailScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  FREQUENCY      = 7.days.freeze
 | 
			
		||||
  SIGN_IN_OFFSET = 1.day.freeze
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ class Scheduler::FeedCleanupScheduler
 | 
			
		|||
  include Sidekiq::Worker
 | 
			
		||||
  include Redisable
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    clean_home_feeds!
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::InstanceRefreshScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    Instance.refresh
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,7 @@ class Scheduler::IpCleanupScheduler
 | 
			
		|||
 | 
			
		||||
  IP_RETENTION_PERIOD = 1.year.freeze
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    clean_ip_columns!
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::MediaCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    unattached_media.find_each(&:destroy)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::PgheroScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    PgHero.capture_space_stats
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::ScheduledStatusesScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    publish_scheduled_statuses!
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::TrendingTagsScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    TrendingTags.update! if Setting.trends
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
class Scheduler::UserCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options lock: :until_executed, retry: 0
 | 
			
		||||
  sidekiq_options retry: 0
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    clean_unconfirmed_accounts!
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,14 +14,30 @@ Sidekiq.configure_server do |config|
 | 
			
		|||
    chain.add SidekiqErrorHandler
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  config.death_handlers << lambda do |job, _ex|
 | 
			
		||||
    digest = job['lock_digest']
 | 
			
		||||
    SidekiqUniqueJobs::Digests.delete_by_digest(digest) if digest
 | 
			
		||||
  config.server_middleware do |chain|
 | 
			
		||||
    chain.add SidekiqUniqueJobs::Middleware::Server
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  config.client_middleware do |chain|
 | 
			
		||||
    chain.add SidekiqUniqueJobs::Middleware::Client
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  SidekiqUniqueJobs::Server.configure(config)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Sidekiq.configure_client do |config|
 | 
			
		||||
  config.redis = redis_params
 | 
			
		||||
 | 
			
		||||
  config.client_middleware do |chain|
 | 
			
		||||
    chain.add SidekiqUniqueJobs::Middleware::Client
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Sidekiq.logger.level = ::Logger.const_get(ENV.fetch('RAILS_LOG_LEVEL', 'info').upcase.to_s)
 | 
			
		||||
 | 
			
		||||
SidekiqUniqueJobs.configure do |config|
 | 
			
		||||
  config.reaper          = :ruby
 | 
			
		||||
  config.reaper_count    = 1000
 | 
			
		||||
  config.reaper_interval = 600
 | 
			
		||||
  config.reaper_timeout  = 150
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue