Надоело ловить обрыв на втором часу из-за ерунды вроде забытой переменной. Собрал коротышку, который гоняю перед каждым стартом. Пять пунктов, десять секунд.
И код возврата поставьте, иначе проверка превращается в красивую печать в консоль. У меня скрипт заканчивается выходом с единицей, а запуск прогона идёт следующей строкой через двойной амперсанд. Не прошло, дальше просто ничего не случилось.
Женя, десяти мало для вывода. Берите выборку штук на двадцать, случайную, и смотрите долю. Ниже восьмидесяти процентов живых имеет смысл притормозить и разобраться. Одиночное молчание чаще означает занятый узел на той стороне, к следующей попытке он отвечает.
И проверяйте полным запросом к своей цели. Открытие сокета проходит почти всегда, толку от такой проверки мало.
Важная мелочь, про которую забывают: проверку надо гонять тем же путём, что и прогон. Тот же пользователь, тот же рабочий каталог, тот же набор переменных. Я месяц наблюдала картину, где чек из-под себя зелёный, а служба из-под своего пользователя падает на первом запросе, потому что переменные ей приходили из другого файла.
Раз тема живая, поделюсь тем, к чему пришёл за несколько сотен ночных прогонов.
Проверок у меня две, и они разные по весу. Быстрая идёт перед каждым стартом, укладывается в десять секунд и трогает только то, что ломается часто: доступность цели, внешний адрес, часы, место на диске, свежесть списка. Медленная гоняется раз в сутки, там уже выборка адресов, замер отклика по медиане, разбор одной карточки с проверкой заполненности полей и запись результата в историю.
История важнее самого факта проверки. Каждый запуск дописывает строку с датой, откликом и долей живых. Через неделю видно движение: отклик пополз вверх задолго до того, как прогон начал спотыкаться. Без истории вы каждый раз смотрите на один снимок и понятия не имеете, норма это или уже беда.
Второе правило: проверка мягче прогона. Если чек требует девяносто пять процентов живых, а прогон спокойно работает на семидесяти, вы будете сидеть с красным чеком при исправной системе и через месяц перестанете на него смотреть.
Третье: сообщение об отказе пишите словами. Фразой вида «часы разошлись, синхронизация выключена». Код возврата и имя функции в четыре утра читаются плохо.
Итог для тех, кто найдёт тему поиском. Добавил часы, код возврата, историю в одну строку и повесил всё как ExecStartPre. За две недели чек трижды остановил старт: дважды разъехались часы после переезда машины, один раз кончилось место под сырьё. Оба случая раньше стоили бы мне ночи.
сначала замер, потом мнение
✉
Регистрация временно закрыта
Набор новых участников приостановлен, пока разбираем очередь заявок. Открывать будем частями, чтобы модераторы успевали.
Чтение форума открыто целиком: все разделы, все темы, поиск по заголовкам. Ничего вводить не нужно.