Воркер очереди
Получайте подтверждение нужного этапа работы, а не только ответа сервера, на котором запущен процесс.
Процесс обращается к уникальному адресу, а Uptimely следит за ожидаемым сигналом. Это способ наблюдать за работой, которую нельзя проверить обычным запросом к странице.
Регистрация бесплатная. Эта проверка доступна на Free.
Воркер перестал подтверждать цикл
Ожидаемый сигнал отсутствует дольше настроенного окна.
Результат: Сигнал просрочен
Процесс
catalog-worker
Интервал
5 минут
Grace period
2 минуты
Последний сигнал
12 минут назад
curl --fail --silent --show-error "$HEARTBEAT_URL"Получайте подтверждение нужного этапа работы, а не только ответа сервера, на котором запущен процесс.
Отмечайте завершение обмена с внешней системой; отсутствие сигнала поможет заметить тихий отказ.
Процесс сам отправляет сигнал наружу. Входящий публичный endpoint приложения для этого не обязателен.
Создайте монитор и получите уникальный heartbeat-адрес. Выберите интервальный или cron-режим под свой процесс.
Отправляйте HTTP-запрос после нужного результата. Для воркера определите, означает ли сигнал успешную обработку или очередной цикл работы.
Задайте допустимую задержку и уведомления. При пропуске сопоставьте историю сигналов с журналом процесса и доступностью сети.
Для разных процессов heartbeat может означать разное: успешный импорт, завершение цикла или создание проверенной резервной копии. Разместите вызов после выбранного события. Сигнал до выполнения работы подтвердит лишь старт, хотя процесс может упасть на следующем действии.
Не связывайте здоровье воркера только с наличием задач: пустая очередь может быть нормой. Решите, должен ли процесс отправлять сигнал о живом цикле или только об обработке. От этого зависит ожидаемый интервал и полезность оповещения для дежурной команды.
Сигнал может не прийти из-за остановки процесса, зависания задачи или ошибки исходящего HTTP-запроса. В истории видно отсутствие события, а причину уточняют журналы. Проверьте код возврата клиента и не скрывайте ошибку доставки внутри скрипта.
Для работы по фиксированному расписанию используйте cron-режим и выберите допустимый запас по времени. Для регулярного живого цикла подходит интервал. После подключения дождитесь первого сигнала и убедитесь, что ожидание соответствует реальному поведению процесса.
Uptimely находится в открытой бете. Гарантированный SLA пока не предоставляется.
Процесс отправляет исходящий HTTP-запрос к адресу Uptimely. Отдельный публичный endpoint на сервере задачи для этой интеграции не требуется.
Лучше создать отдельный монитор для каждой. Сигнал одной задачи иначе может скрыть пропуск другой и сделать результат непонятным.
Cron — сценарий применения Heartbeat по расписанию. Heartbeat также подходит для интервальных процессов и воркеров; способ доставки сигнала тот же.
Проверьте доступность сети и результат клиента. Не считайте задачу наблюдаемой, пока первый сигнал не появился в истории монитора.
Регистрация бесплатная. Эта проверка доступна на Free. Банковская карта для регистрации не нужна.