RENZZY / Меню
Ко всем работам

Мониторинг сайта / Демопроект

FlowWatch

Сервис проходит важные сценарии в браузере и проверяет, сохранилась ли заявка или заказ на сервере.

  • TypeScript
  • Node.js
  • Playwright
  • Chromium
  • PostgreSQL
  • Nunjucks
Панель FlowWatch со списком браузерных проверок и их состояниями.

Задача

Страница может открываться, а форма — показывать успех, хотя заявка не записалась. Команде нужно определить, на каком шаге сломался сценарий, и подтвердить, когда он восстановился.

Решение

FlowWatch запускает вход, отправку заявки и тестовый заказ в Chromium. Сохранение проверяется через серверный интерфейс чтения. Два последовательных сбоя открывают инцидент, три успешные проверки подтверждают восстановление.

Как это работает

Результат

В отчёте зафиксированы 39 пройденных тестов, включая 12 браузерных. Демо подтвердило один инцидент, его восстановление и два уведомления в локальном приёмнике. Проверки шли на демонстрационном сайте. Подключение к Telegram и запуск в Docker в этот прогон не входили.

Мой вклад

Я разделил планировщик, фоновый обработчик и браузерный процесс. PostgreSQL хранит состояния и предотвращает параллельный запуск одной проверки. Инциденты и уведомления фиксируются транзакционно, а панель показывает этап сбоя и ход восстановления.

Архитектура

Браузерные наблюдения поступают в общий журнал, из которого формируются инциденты.

Описание компонента

Планировщик

Создаёт задачи по расписанию без дублирования слотов.

Связи компонентов
  • Планировщик: Создаёт задачи по расписанию без дублирования слотов.
  • Браузерный сценарий: Изолированный процесс проходит сценарий и сверяет результат на сервере.
  • Инциденты: Последовательность наблюдений обновляет инцидент и ставит уведомление в очередь.
  • Планировщик → Браузерный сценарий
  • Браузерный сценарий → Инциденты

Следующий шаг

Есть задача? Давайте решим.

СвязатьсяКо всем работам