Прогон длинный, часов шесть. Сейчас в консоль сыплется всё подряд: каждый запрос, каждый разобранный товар, каждая ошибка с трассой. Экран летит так, что прочитать невозможно, и когда что-то ломается, я узнаю об этом через полчаса.
Хочу оставить на виду только то, по чему видно состояние. Что туда обычно кладут?
Разведите два разных занятия. Экран это приборная панель для человека, файл это протокол для разбора после.
В файл пишите всё подряд, на экран одну строку, которая перерисовывается на месте. Минимальный набор в ней: сделано из скольки, темп за последнюю минуту, доля отказов за последнюю минуту, ожидаемое время до конца по текущему темпу. Последнюю ошибку тоже полезно держать хвостом строки, коротко.
Первая: строку надо дополнять пробелами справа. Иначе от длинной предыдущей остаётся хвост, и вы читаете смесь двух состояний, гадая, откуда взялась цифра.
Вторая: возврат каретки хорош, пока вывод идёт в терминал. Стоит перенаправить его в файл, и вы получаете одну гигантскую строку без переносов, в которой сложены все шесть часов прогона. Проверяйте, куда пишете, и в файл переключайтесь на обычный перевод строки раз в минуту.
Отдельным файлом с отметкой времени. Раз в пачку скрипт её обновляет, а сторонний наблюдатель раз в пять минут смотрит, насколько отметка постарела.
date +%s > /run/progon.beat
Отметка стоит на месте десять минут, значит прогон встал, и об этом можно узнать письмом или строкой в дежурный чат. По экрану зависание видно только тогда, когда на экран кто-то смотрит.
логи читаю раньше почты
✉
Регистрация временно закрыта
Набор новых участников приостановлен, пока разбираем очередь заявок. Открывать будем частями, чтобы модераторы успевали.
Чтение форума открыто целиком: все разделы, все темы, поиск по заголовкам. Ничего вводить не нужно.