For Admins
Background tasks
What the platform does on a schedule and in the background, how often, and where to see it.
Celery does the background work: the celery-beat service starts tasks on a schedule, celery-worker runs them, and the task queue lives in Redis. All schedule times are UTC.
Scheduled tasks
| Task | How often |
|---|---|
| Tickets | |
| SLA check | every 5 min |
| Ticket auto-assignment | every 2 min |
| Ticket rules | every 2 min |
| Auto-closing stale tickets | every 15 min |
| Waking snoozed tickets | every 5 min |
| Auto-reply when operators are slow | every minute |
| Scheduled messages | every minute |
| Channels | |
| IMAP mail fetch | every 2 min |
| BILLmanager ticket fetch | every 30 s |
| Retrying replies to BILLmanager | every 3 min |
| Waiting time on Telegram cards | every minute |
| Removing old Telegram cards | every 5 min |
| Deleting temporary Telegram messages | every minute |
| Widget visitors gone offline | every 2 min |
| Scheduled widget publishing | every minute |
| Billing | |
| Plan renewals | hourly at :05 |
| Payment reminders | daily at 09:00 UTC |
| Housekeeping | |
| Old attachments cleanup | daily at 03:00 UTC |
| Resuming interrupted file operations | every 5 min |
| Lifting expired contact blocks | every 10 min |
| Analytics reports | daily at 09:00 UTC |
- For how SLA and auto-close behave, see SLA & business hours and Auto-close tickets.
- Attachment cleanup deletes files older than the Retention (days) in “Settings → Project & access → Media Storage” (90 by default; 0 keeps them forever; doesn't apply to S3). Attachments of knowledge base articles and templates are kept. The countdown can be restarted — see Media storage.
- Cards of closed tickets are removed from the Telegram group four hours after closing. Telegram lets a bot delete its message only within 48 hours, so a card nearing 48 hours is removed sooner, and a card older than 48 hours is shortened by an edit to a single line — “Ticket #… closed”.
Tasks triggered by events
- Sending project broadcasts and emails to platform users, and sending announcements to customers.
- Delivering API webhooks, with retries on errors.
- Indexing knowledge base articles and closed tickets for AI.
- Moving files between local storage and S3, cleaning up and compressing images from the Media storage page. They run in portions of a few minutes; if the worker restarts, the operation carries on by itself.
CSV, XLSX and JSONL exports don't run in the background — the file is returned right away (see Data export).
Where to look
The platform admin sees PostgreSQL and Redis status, containers, disk and the list of scheduled tasks under “Admin panel → Platform → System”. Individual runs aren't tracked there.
If SLA notifications, auto-close or mail fetching stop, check that celery-beat and celery-worker are running. To see whether the worker is alive:
celery -A app.tasks.celery_app inspect ping. An unhealthy mark on the worker container doesn't always mean it has stopped: it may be busy with a long task — check the ping and the logs.Was this page helpful?

