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

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

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

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

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 сохраняется в истории: до 10 КБ на Free и до 100 КБ на платных тарифах. Запрос больше 100 КБ отклоняется с HTTP 413. В уведомление о падении попадает только хвост сохранённого лога, ограниченный форматом канала. Отправляйте последние строки вывода без секретов.

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

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

Для каждого параллельного запуска создайте новый UUID и передавайте одинаковый rid в /start, /log и финальном пинге. У каждого запуска будут своя длительность и таймер. Успех одного не снимет тревогу о другом, превысившем максимальную длительность. Неверный или пустой rid возвращает HTTP 400.

bash
RID=$(uuidgen)
curl -fsS "https://ping.tickwatch.dev/ВАШ-КЛЮЧ/start?rid=$RID"
/path/to/job.sh
CODE=$?
curl -fsS "https://ping.tickwatch.dev/ВАШ-КЛЮЧ/$CODE?rid=$RID"

Повторный /start с тем же rid не продлевает таймер; повторный финал не учитывается как новая ошибка. Используйте новый rid для следующего запуска. Без rid сохраняется режим одного запуска: такой финал не завершает запуск с идентификатором. Сведения о rid хранятся в пределах истории тарифа; незавершённый запуск с большей разрешённой длительностью хранится до окончания этого срока и ещё час.

Применить к вашей задаче

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