STEADRUN

Пинги

Обновлено 02.10.2026

Пинг — это обычный HTTP-запрос на адрес проверки. Отправить его можно через curl, wget или из кода на любом языке. Авторизация не нужна, адрес сам по себе служит ключом.

Адреса проверки

У каждой проверки типа «Cron» и «Очередь» есть три адреса:

Адрес Что значит
https://steadrun.ru/ping/ВАШ-UUID Задача отработала успешно
https://steadrun.ru/ping/ВАШ-UUID/start Задача началась
https://steadrun.ru/ping/ВАШ-UUID/fail Задача упала

Основной адрес есть в карточке проверки, /start и /fail к нему просто дописываются.

Успех переводит проверку в статус «работает» и сдвигает ожидание на следующий запуск. Если проверка была в статусе «не отвечает», придёт сообщение о восстановлении.

/fail переводит проверку в «не отвечает» сразу, и алерт уходит, не дожидаясь конца grace-периода. Используйте его, когда задача сама знает, что упала. Например, скрипт вернул код ошибки или в коде вылетело исключение.

/start статус не меняет. Он нужен, чтобы измерять, сколько работает задача (об этом ниже).

GET или POST

Steadrun принимает оба метода, и разницы между ними нет. Если нужно передать текст, отправляйте его телом POST-запроса:

curl -fsS -m 10 --retry 3 --data-binary "Не удалось подключиться к базе" https://steadrun.ru/ping/ВАШ-UUID/fail

--data-binary отправляет текст как есть. Если читать текст из файла через -d @файл, curl выкинет переводы строк, и многострочная ошибка склеится в одну строку.

Текст ошибки в алерте

Steadrun сохраняет первые 10 КБ тела пинга, остальное отбрасывает.

  • Текст, отправленный на /fail, приходит прямо в алерте, в Telegram и в письме. Так причину видно сразу, без захода на сервер.
  • Тело последнего пинга любого типа видно в карточке проверки, в блоке «Тело последнего пинга».

Steadrun оставляет начало текста, а причина падения обычно в конце вывода. Поэтому отправляйте последние строки. Например, tail -c 10000 оставит последние 10 000 байт. Готовая обёртка, которая так делает, есть в рецептах.

Время выполнения задачи

Если отправлять /start в начале задачи и обычный пинг в конце, Steadrun посчитает, сколько она работала. Время видно в ленте событий у каждого пинга. В карточке проверки есть ещё p50 и p95.

  • p50 — половина запусков укладывается в это время;
  • p95 — 95 из 100 запусков укладываются в это время.

По p95 удобно выбирать grace-период. Возьмите его и добавьте запас.

curl -fsS -m 10 --retry 3 https://steadrun.ru/ping/ВАШ-UUID/start
/home/deploy/backup.sh
curl -fsS -m 10 --retry 3 https://steadrun.ru/ping/ВАШ-UUID

Если задача зависла после /start и до конца не дошла, пинга об успехе не будет. Когда закончится grace-период, придёт алерт, как и при обычной тишине.

Ответы сервера

Код Когда
200 Пинг принят. Тело ответа пустое
404 Проверки с таким адресом нет: опечатка в UUID или проверку удалили
429 Больше 120 пингов в минуту на одну проверку

С ключом -f curl завершится с ошибкой на 404 и 429, и Вы увидите это в логе задачи. Без -f ошибка пройдёт незаметно.

Лимит в 120 пингов в минуту защищает от случайного флуда, например когда пинг попал внутрь цикла. Обычной задаче он не мешает, воркеру хватает пинга раз в минуту.

Пинг на проверку, которая стоит на паузе, снимает паузу, и Steadrun снова следит за задачей. Если работающих проверок уже столько, сколько позволяет тариф, пинг сохранится, но пауза останется.

Ключи curl

Во всех примерах в документации пинг отправляется с такими ключами:

curl -fsS -m 10 --retry 3 https://steadrun.ru/ping/ВАШ-UUID
  • -f — ошибка сервера (404, 429) становится ошибкой curl;
  • -sS — без индикатора загрузки, но с сообщениями об ошибках;
  • -m 10 — не ждать дольше 10 секунд, чтобы проблемы с сетью не задерживали задачу;
  • --retry 3 — повторить запрос, если сеть ненадолго пропала.

Адрес пинга держите в секрете

Кто знает адрес, тот может слать пинги вместо Вашей задачи. Тогда задача сломается, а Steadrun этого не заметит. Поэтому:

  • не публикуйте адрес в открытых репозиториях, храните его в переменных окружения или секретах CI;
  • не пересылайте его в общие чаты;
  • если адрес утёк, создайте новую проверку и удалите старую.

Что дальше

  • Рецепты: готовые примеры с /start и /fail для crontab, systemd, Docker, CI и разных языков.
  • Laravel: пакет отправляет /start, успех и /fail сам.