Keep scheduler jobs unique until they're done (#8287)
This commit is contained in:
		| @ -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 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user