dawarich/app/jobs/family/invitations/cleanup_job.rb

26 lines
836 B
Ruby
Raw Normal View History

2025-09-28 07:10:07 -04:00
# frozen_string_literal: true
2025-10-11 08:17:48 -04:00
class Family::Invitations::CleanupJob < ApplicationJob
queue_as :families
2025-09-28 07:10:07 -04:00
def perform
Rails.logger.info 'Starting family invitations cleanup'
expired_count = Family::Invitation.where(status: :pending)
.where('expires_at < ?', Time.current)
.update_all(status: :expired)
2025-09-28 07:10:07 -04:00
Rails.logger.info "Updated #{expired_count} expired family invitations"
cleanup_threshold = 30.days.ago
deleted_count =
Family::Invitation.where(status: %i[expired cancelled])
.where('updated_at < ?', cleanup_threshold)
.delete_all
2025-09-28 07:10:07 -04:00
Rails.logger.info "Deleted #{deleted_count} old family invitations"
Rails.logger.info 'Family invitations cleanup completed'
end
2025-10-04 17:19:00 -04:00
end