"No","カテゴリ","バッチ名","説明","備考"
"1","内部システム","Internal::CheckNewVersionsJob","Chatwootの新バージョンをチェックし、最新バージョン情報をRedisに保存する","毎日12:00 UTC実行。本番環境のみ動作。config/schedule.yml: internal_check_new_versions_job"
"2","スケジュール管理","TriggerScheduledItemsJob","各種スケジュールされたアイテム（キャンペーン、スヌーズ会話、通知、自動解決、WhatsAppテンプレート同期）をトリガーする","5分毎に実行。config/schedule.yml: trigger_scheduled_items_job"
"3","メール取込","Inboxes::FetchImapEmailInboxesJob","IMAP有効なメールインボックスを検索し、各インボックスに対してメール取得ジョブをキューイングする","毎分実行。config/schedule.yml: trigger_imap_email_inboxes_job"
"4","メール取込","Inboxes::FetchImapEmailsJob","個別のメールチャネルからIMAPでメールを取得し処理する","FetchImapEmailInboxesJobから呼び出される子ジョブ"
"5","データクリーンアップ","Internal::RemoveStaleContactInboxesJob","会話のない3ヶ月以上経過したコンタクトインボックスを削除する","毎日22:30 UTC実行。config/schedule.yml: remove_stale_contact_inboxes_job.rb"
"6","データクリーンアップ","Internal::RemoveStaleRedisKeysJob","古いオンラインプレゼンスキーなど、Redisの不要キーを削除しメモリ使用量を削減する","毎日22:30 UTC実行。config/schedule.yml: remove_stale_redis_keys_job.rb"
"7","データクリーンアップ","Internal::ProcessStaleContactsJob","古いコンタクト削除ジョブをアカウント単位でスケジュールする（5日周期で分散処理）","毎日04:30 UTC実行。Chatwoot Cloud専用。config/schedule.yml: process_stale_contacts_job"
"8","データクリーンアップ","Internal::RemoveStaleContactsJob","識別情報（メール、電話番号、識別子）がなく、会話もない30日以上経過したコンタクトを削除する","ProcessStaleContactsJobから呼び出される子ジョブ"
"9","アカウント管理","Internal::DeleteAccountsJob","削除マークが付けられ、削除期限が過ぎたアカウントを物理削除する","毎日01:00 UTC実行。config/schedule.yml: delete_accounts_job"
"10","自動アサイン","Inboxes::BulkAutoAssignmentJob","未アサインの会話を利用可能なエージェントに一括自動アサインする","15分毎に実行。config/schedule.yml: bulk_auto_assignment_job"
"11","自動アサイン","AutoAssignment::PeriodicAssignmentJob","assignment_v2機能が有効なアカウントの自動アサインポリシーを定期実行する","30分毎に実行。config/schedule.yml: periodic_assignment_job"
"12","自動アサイン","AutoAssignment::AssignmentJob","個別インボックスに対する自動アサイン処理を実行する","PeriodicAssignmentJobから呼び出される子ジョブ"
"13","通知管理","Notification::RemoveOldNotificationJob","1ヶ月以上前の通知を削除し、ユーザーごとに300件を超える通知をトリミングする","毎日22:30 UTC実行。config/schedule.yml: remove_old_notification_job"
"14","データクリーンアップ","Internal::RemoveOrphanConversationsJob","コンタクトIDがない孤立した会話を削除する","12時間毎に実行。config/schedule.yml: remove_orphan_conversations_job"
"15","会話管理","Conversations::ReopenSnoozedConversationsJob","スヌーズ期限が過ぎた会話を再オープンする","TriggerScheduledItemsJobから5分毎にトリガー"
"16","通知管理","Notification::ReopenSnoozedNotificationsJob","スヌーズ期限が過ぎた通知を再オープンし、活動時刻を更新する","TriggerScheduledItemsJobから5分毎にトリガー"
"17","会話管理","Account::ConversationsResolutionSchedulerJob","自動解決が有効なアカウントに対して会話解決ジョブをスケジュールする","TriggerScheduledItemsJobから5分毎にトリガー"
"18","会話管理","Conversations::ResolutionJob","設定された期間アクティビティのない会話を自動的に解決済みにする","ConversationsResolutionSchedulerJobから呼び出される子ジョブ"
"19","WhatsApp連携","Channels::Whatsapp::TemplatesSyncSchedulerJob","WhatsAppチャネルのメッセージテンプレートを同期するジョブをスケジュールする","TriggerScheduledItemsJobから5分毎にトリガー。3時間以上更新されていないチャネルが対象"
"20","WhatsApp連携","Channels::Whatsapp::TemplatesSyncJob","個別WhatsAppチャネルのメッセージテンプレートを同期する","TemplatesSyncSchedulerJobから呼び出される子ジョブ"
"21","キャンペーン","Campaigns::TriggerOneoffCampaignJob","スケジュールされたワンオフキャンペーンを実行する","TriggerScheduledItemsJobから5分毎にトリガー。過去3日以内にスケジュールされたアクティブなキャンペーンが対象"
"22","SLA管理","Sla::TriggerSlasForAccountsJob","SLAポリシーを持つアカウントに対してSLA処理ジョブをスケジュールする","Enterprise機能。TriggerScheduledItemsJobから5分毎にトリガー"
"23","SLA管理","Sla::ProcessAccountAppliedSlasJob","アカウント単位で適用されているアクティブなSLAを処理する","Enterprise機能。TriggerSlasForAccountsJobから呼び出される子ジョブ"
"24","SLA管理","Sla::ProcessAppliedSlaJob","個別の適用SLAに対してSLA違反チェックなどの処理を実行する","Enterprise機能。ProcessAccountAppliedSlasJobから呼び出される子ジョブ"
"25","内部システム","Internal::ProcessStaleRedisKeysJob","アカウント単位で古いRedisキーを処理・削除する","RemoveStaleRedisKeysJobから呼び出される子ジョブ"
