Keep scheduler jobs unique until they're done (#8287)
This commit is contained in:
		
							parent
							
								
									59c68c1a74
								
							
						
					
					
						commit
						91c929a42c
					
				@ -3,6 +3,8 @@
 | 
			
		||||
class Scheduler::BackupCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    old_backups.find_each(&:destroy!)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,8 @@
 | 
			
		||||
class Scheduler::DoorkeeperCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    Doorkeeper::AccessToken.where('revoked_at IS NOT NULL').where('revoked_at < NOW()').delete_all
 | 
			
		||||
    Doorkeeper::AccessGrant.where('revoked_at IS NOT NULL').where('revoked_at < NOW()').delete_all
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,8 @@
 | 
			
		||||
class Scheduler::EmailScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    eligible_users.find_each do |user|
 | 
			
		||||
      next unless user.allows_digest_emails?
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,8 @@
 | 
			
		||||
class Scheduler::FeedCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    clean_home_feeds!
 | 
			
		||||
    clean_list_feeds!
 | 
			
		||||
 | 
			
		||||
@ -5,6 +5,8 @@ class Scheduler::IpCleanupScheduler
 | 
			
		||||
 | 
			
		||||
  RETENTION_PERIOD = 1.year
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    time_ago = RETENTION_PERIOD.ago
 | 
			
		||||
    SessionActivation.where('updated_at < ?', time_ago).destroy_all
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,8 @@
 | 
			
		||||
class Scheduler::MediaCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    unattached_media.find_each(&:destroy)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,8 @@
 | 
			
		||||
class Scheduler::SubscriptionsCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    Subscription.expired.in_batches.delete_all
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,8 @@
 | 
			
		||||
class Scheduler::SubscriptionsScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    Pubsubhubbub::SubscribeWorker.push_bulk(expiring_accounts.pluck(:id))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,8 @@
 | 
			
		||||
class Scheduler::UserCleanupScheduler
 | 
			
		||||
  include Sidekiq::Worker
 | 
			
		||||
 | 
			
		||||
  sidekiq_options unique: :until_executed
 | 
			
		||||
 | 
			
		||||
  def perform
 | 
			
		||||
    User.where('confirmed_at is NULL AND confirmation_sent_at <= ?', 2.days.ago).find_in_batches do |batch|
 | 
			
		||||
      Account.where(id: batch.map(&:account_id)).delete_all
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user