Документация

Типы сигналов

Начало, успех, падение и произвольный лог — что и когда отправлять.

Адрес пинга принимает необязательный суффикс. Он и определяет смысл сигнала.

bash
https://ping.tickwatch.dev/ВАШ-КЛЮЧ          # успех
https://ping.tickwatch.dev/ВАШ-КЛЮЧ/start    # задача началась
https://ping.tickwatch.dev/ВАШ-КЛЮЧ/fail     # задача упала
https://ping.tickwatch.dev/ВАШ-КЛЮЧ/0        # успех, код возврата 0
https://ping.tickwatch.dev/ВАШ-КЛЮЧ/17       # падение, код возврата 17
https://ping.tickwatch.dev/ВАШ-КЛЮЧ/log      # просто лог, состояние не меняется

Зачем сигнал начала

Без него мы знаем только, что задача не отчиталась, но не знаем почему: не запустилась вовсе или запустилась и висит третий час. Сигнал начала разводит эти случаи и включает контроль максимальной длительности.

Тело запроса

Всё, что вы отправите телом POST, сохранится как лог запуска и попадёт в оповещение о падении. Тело обрезается по лимиту тарифа, так что слать многомегабайтный вывод целиком смысла нет — обычно достаточно последних строк.

bash
/path/to/job.sh 2>&1 | tail -c 10000 | curl -fsS --data-binary @- https://ping.tickwatch.dev/ВАШ-КЛЮЧ

Параллельные запуски

Если одна задача может идти в несколько потоков, добавьте параметр rid с уникальным идентификатором запуска — тогда начало и конец свяжутся правильно, а не вперемешку.

bash
RID=$(uuidgen)
curl -fsS "https://ping.tickwatch.dev/ВАШ-КЛЮЧ/start?rid=$RID"
/path/to/job.sh
curl -fsS "https://ping.tickwatch.dev/ВАШ-КЛЮЧ?rid=$RID"
Типы сигналов · Tickwatch