Мониторинг фоновых workers и очередей, когда веб зелёный
Раздельный стек — Next.js на Vercel и BullMQ на Railway, или Django + Celery — ломается наполовину. Дашборд открывается, экспорт и почта не идут.
StillOnline достучится только до публичных HTTPS URL. Worker без ingress нуждается в прокси-сигнале в health или heartbeat URL, который отдаёт веб-тиер. Ниже — что мониторить и как подписать Фоновые задачи на странице статуса.
Краткий ответ
Зарегистрируйте URL, который падает при остановке workers — GET /health с heartbeat очереди или GET /workers/health с 503, если последний успех устарел. StillOnline опрашивает раз в пять минут на Free (один URL на проект); две неудачи подряд → DOWN. Component Фоновая обработка на странице статуса — для инцидентов без падения API-хоста. Глубину очереди StillOnline не читает — кодируйте в HTTP JSON. Heartbeat для cron.
Веб vs worker
| Слой | Хост | StillOnline «из коробки» |
|---|---|---|
| Web / API | api.../health | Да |
| Worker | Без публичного порта | Нет — нужен прокси |
| Очередь Redis | Внутренняя | Через handler health |
| Cron | Shell по расписанию | Паттерн heartbeat |
Очереди Redis снаружи не видны — только то, что отдаёт приложение.
Паттерн 1 — heartbeat в /health
{
"status": "ok",
"worker_last_ok": "2026-06-08T11:55:00Z",
"queue_lag_seconds": 12
}
503, если now - worker_last_ok > 600. Один URL на Free.
Паттерн 2 — отдельный worker health на Pro
Pro — до 10 проверок: веб и .../workers/health. Components API и Фоновые задачи.
Паттерн 3 — публичный worker на PaaS
Fly/Railway с HTTP — мониторинг Fly.
Страница статуса
При 200 на веб, но паузе jobs — Degraded на Фоновых задачах, API Operational. Инциденты в StillOnline вручную.
Связанные материалы
FAQ
StillOnline подключается к Redis?
Нет — только ваш HTTPS health.
Worker только в private network?
Worker пишет timestamp; публичный /health читает — heartbeat.
Падение worker = вся страница красная?
Только если продукт недоступен; иначе Degraded на component задач.