Мониторинг фоновых 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 задач.
Дополнительно
Heartbeat для cron и очередей в SaaS
Heartbeat vs HTTP uptime для cron: что проверяет StillOnline, как отдать URL успешного ping и когда нужен отдельный cron-монитор.
Мониторинг endpoint приёма webhooks
Мониторинг /webhooks/*: 200 vs 401, проверка подписи и чем HTTP-проверки StillOnline отличаются от публичного REST API.
Дизайн health URL: /health и /ready для SaaS
Выбор GET /health, /api/health или /ready для внешних проверок. JSON, auth, ping БД, страница статуса StillOnline и алерты Telegram через бота StillOnline.
Что мониторить в API-only SaaS
API-first: правильный health URL, страница статуса и алерты владельца. Мониторинг /health или /api/health и Telegram через бота StillOnline. StillOnline.