iachat/app/jobs/trigger_scheduled_items_job.rb
Gabriel Jablonski 2cf1795a3b
feat: baileys connection period check (#87)
* feat: periodic check for baileys connection

* chore: add index on provider connection
2025-07-26 11:38:16 -03:00

32 lines
1.1 KiB
Ruby

class TriggerScheduledItemsJob < ApplicationJob
queue_as :scheduled_jobs
def perform
# trigger the scheduled campaign jobs
Campaign.where(campaign_type: :one_off,
campaign_status: :active).where(scheduled_at: 3.days.ago..Time.current).all.find_each(batch_size: 100) do |campaign|
Campaigns::TriggerOneoffCampaignJob.perform_later(campaign)
end
# Job to reopen snoozed conversations
Conversations::ReopenSnoozedConversationsJob.perform_later
# Job to reopen snoozed notifications
Notification::ReopenSnoozedNotificationsJob.perform_later
# Job to auto-resolve conversations
Account::ConversationsResolutionSchedulerJob.perform_later
# Job to sync whatsapp templates
Channels::Whatsapp::TemplatesSyncSchedulerJob.perform_later
# Job to check WhatsApp connection status
Channels::Whatsapp::BaileysConnectionCheckSchedulerJob.perform_later
# Job to clear notifications which are older than 1 month
Notification::RemoveOldNotificationJob.perform_later
end
end
TriggerScheduledItemsJob.prepend_mod_with('TriggerScheduledItemsJob')