mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-29 18:22:53 +00:00
- Enable the rubocop Rails/FindEach - Replace the .all.each with .find_each This should let us avoid potential memory usage. Motivation from the speedshop newsletter by Nate Berkopec ref: https://www.rubyinrails.com/2017/11/16/use-find-each-instead-of-all-each-in-rails/ ref: https://linear.app/chatwoot/issue/CW-1480/chore-run-all-sidekiq-jobs-async
21 lines
708 B
Ruby
21 lines
708 B
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 auto-resolve conversations
|
|
Account::ConversationsResolutionSchedulerJob.perform_later
|
|
|
|
# Job to sync whatsapp templates
|
|
Channels::Whatsapp::TemplatesSyncSchedulerJob.perform_later
|
|
end
|
|
end
|