- Add a job to remove stale contacts and contact_inboxes across all accounts Stale anonymous contact is defined as - have no identification (email, phone_number, and identifier are NULL) - have no conversations - are older than 30 days --------- Co-authored-by: Pranav <pranav@chatwoot.com> Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
19 lines
554 B
Ruby
19 lines
554 B
Ruby
# housekeeping
|
|
# remove stale contacts for all accounts
|
|
# - have no identification (email, phone_number, and identifier are NULL)
|
|
# - have no conversations
|
|
# - are older than 30 days
|
|
|
|
class Internal::ProcessStaleContactsJob < ApplicationJob
|
|
queue_as :scheduled_jobs
|
|
|
|
def perform
|
|
Account.find_in_batches(batch_size: 100) do |accounts|
|
|
accounts.each do |account|
|
|
Rails.logger.info "Enqueuing RemoveStaleContactsJob for account #{account.id}"
|
|
Internal::RemoveStaleContactsJob.perform_later(account)
|
|
end
|
|
end
|
|
end
|
|
end
|