iachat/app/jobs
Tanmay Deep Sharma d166ae73bc
feat: add cron job to remove orphan conversations (#13335)
## Description

This PR includes cron job to delete the orphans

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)

## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Introduces a scheduled cleanup for conversations missing `contact` or
`inbox`.
> 
> - Adds `Internal::RemoveOrphanConversationsService` to batch-delete
orphan conversations (scoped by optional `account`, within a
configurable `days` window) with progress logging
> - New `Internal::RemoveOrphanConversationsJob` that invokes the
service; scheduled via `config/schedule.yml` to run every 12 hours on
`housekeeping` queue
> - Refactors rake task `chatwoot:ops:cleanup_orphan_conversations` to
use the service and report `total_deleted` after confirmation
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
59a24715cc59f048d08db3f588cde6fa036f3166. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2026-01-28 19:25:20 +05:30
..
account feat: Introduce the crm_v2 feature flag for CRM changes (#12014) 2025-07-23 17:07:02 +04:00
agent_bots feat: Open conversation when agent bot webhook fails (#12379) 2025-10-13 15:59:59 +05:30
agents chore: Reorganize Sidekiq Queues (#6976) 2023-05-04 15:44:16 +05:30
auto_assignment feat: Assignment service (v2) (#12320) 2025-11-17 10:08:25 +05:30
avatar fix: Add URL validation and rate limiting for contact avatar sync (#11979) 2025-09-10 20:08:06 +05:30
campaigns chore: one off SMS campaign APIs (#2589) 2021-07-14 12:24:09 +05:30
channels feat: Added the backend support for twilio content templates (#12272) 2025-08-24 10:05:15 +05:30
contacts feat: Bulk actions for contacts (#12763) 2025-10-30 15:28:28 +05:30
conversations fix: prevent NoMethodError in mute helpers when contact is nil (#13277) 2026-01-15 22:00:09 -08:00
crm feat: integrate LeadSquared CRM (#11284) 2025-04-29 09:14:00 +05:30
inboxes feat: Run assignment every 15 minutes (#12334) 2025-08-29 15:10:56 -07:00
internal feat: add cron job to remove orphan conversations (#13335) 2026-01-28 19:25:20 +05:30
labels fix: Update associations when a label is updated (#3046) 2021-09-21 10:16:32 +05:30
migration feat: Backend - Companies API endpoint with pagination and search (#12840) 2025-11-18 14:28:56 +05:30
notification perf: limit the number of notifications per user to 300 (#13234) 2026-01-28 17:35:13 +05:30
webhooks feat: TikTok channel (#12741) 2025-12-17 07:54:50 -08:00
action_cable_broadcast_job.rb chore: Add more conversation events for reload (#10877) 2025-02-11 00:33:45 -08:00
application_job.rb chore: Improve active job error logs for deserialization error (#8742) 2024-01-18 19:27:18 +04:00
bulk_actions_job.rb feat: Add support for bulk snooze until (#9360) 2024-05-08 08:55:31 +05:30
contact_ip_lookup_job.rb feat(poc): Disable widget based on country (#6658) 2023-03-14 09:09:57 -07:00
conversation_reply_email_job.rb chore(sidekiq): log ActiveJob class and job_id on dequeue (#12704) 2025-10-22 20:20:37 -07:00
data_import_job.rb fix: Avoid double notification email after importing contacts (#13150) 2026-01-09 15:11:19 -08:00
delete_object_job.rb fix: Prevent SLA deletion timeouts by moving to async job (#12944) 2025-12-10 12:28:47 +05:30
event_dispatcher_job.rb chore: Reorganize Sidekiq Queues (#6976) 2023-05-04 15:44:16 +05:30
hook_job.rb feat: integrate LeadSquared CRM (#11284) 2025-04-29 09:14:00 +05:30
macros_execution_job.rb feat: Execute macro actions, for the conversation (#5066) 2022-07-26 12:41:22 +05:30
mutex_application_job.rb fix: mutex timeout and error handling (#8770) 2024-01-24 14:18:21 +04:00
send_on_slack_job.rb fix: mutex timeout and error handling (#8770) 2024-01-24 14:18:21 +04:00
send_reply_job.rb feat: TikTok channel (#12741) 2025-12-17 07:54:50 -08:00
slack_unfurl_job.rb feat: Support link unfurling for all the channels within the same connected channel account. (#8033) 2023-10-08 17:55:03 +05:30
trigger_scheduled_items_job.rb perf: limit the number of notifications per user to 300 (#13234) 2026-01-28 17:35:13 +05:30
webhook_job.rb feat: Mark the messages as failed if the API channel webhooks fail for any reason. (#8277) 2023-11-04 12:26:28 +05:30