Files
healthlog/docs/tasks/items/stream-silence-alert.md
T
avandClaude Opus 5 a53d0f0f2f задачи: мета переехала в блок, поле «Хук» стало «Зачем»
49 файлов, миграция сделана командой tasks.py check --fix — той самой, ради
которой в скрипте оставлена читаемость старой формы. Побочно тот же прогон
проставил тег decomposed целям, у которых есть задачи: это его штатная работа.

check после миграции зелёный, индексы согласованы.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 17:31:29 +03:00

32 lines
2.3 KiB
Markdown

# Активный алерт «данных нет N часов»
- **Секция:** инфра
- **Зачем:** Пропажу потока сейчас замечает человек, а не сервис
- **Теги:** goal:observability
Пропажу потока сейчас замечает человек. `/stats` покажет факт, но только если
туда заглянуть — а заглядывают ровно тогда, когда уже что-то заподозрили.
Активное уведомление закрывает разрыв: сервис сам сообщает, что данных нет
дольше порога. Канал — тот же, что у остальных моих проектов.
Порог не единый: быстрый проход идёт каждые 5 минут, но ночью телефон
заблокирован и тишина штатна (находка 28). Значит порог считается по времени
суток или по последней успешной доставке каждой автоматизации отдельно.
Приоритет низкий, пока сервис на рабочей машине и я вижу его каждый день.
После деплоя на rivendell поднимется.
## Источник алерта не может жить внутри `serve`
Отказ стража версии схемы (база новее бинаря) останавливает процесс, а
`restart: unless-stopped` даёт цикл перезапуска. Значит алерт «данных нет N
часов», живущий внутри сервиса, на эту причину остановки не сработает **по
построению** — он не поднимется вместе с ним. Обоснование стража («откат делает
оператор, он в этот момент рядом») верно для ручного отката и не покрывает
перезапуск хоста или откат деплоя.
Пришло из задачи «Дозакрыть находки ревью по слиянию сущностей» (проход `ops`,
`negative`).