На главную Исходный код на GitHub

fx-watch

Сервис каждый день сам забирает официальные курсы Банка России, складывает их так, что видна вся история изменений, и следит за тем, чтобы данные не сломались незаметно. Это живой стенд: цифры ниже приходят из работающего сервиса, а не из заготовки.

проверяю состояние Источник: Банк России Последний сбор: Версия кода:

Курс во времени точки графика берутся из истории наблюдений, а не из последнего ответа источника

Валюта
Период
Текущее знание Что мы знали на выбранный момент Источник менял это значение
Машина времени сейчас

Сдвиньте ползунок влево, чтобы увидеть данные такими, какими они были известны сервису на тот момент. Где пунктир расходится со сплошной линией, источник позже поправил своё же значение. Ради этого история и хранится целиком: любой прошлый отчёт можно воспроизвести и проверить.

Честная оговорка: история за три месяца залита из архива Банка России за один заход, поэтому почти все значения сервис узнал одновременно, и на раннем положении ползунка график будет коротким. Разница между тем, что мы знали и знаем, видна там, где источник действительно менял значение.

Что ломалось сбои сгруппированы в события

КогдаЧто случилосьДлилосьИтог
загрузка

Ревизии источника значения, изменённые задним числом

РядДатаБылоСталоРазница
загрузка

Проверки качества данных за последние 7 дней

ПроверкаЧто проверяетПройденоНе пройденоПропущено
загрузка

Как это работает, если коротко

1

Основной сбор ночью, днём страховка

Банк России публикует курс на завтра накануне днём. Ночью сервис забирает свежий курс одним заходом, а дневные попытки включаются, только если ночью что-то пошло не так: в обычный день они молчат. Если источник не ответил, сервис подождёт и попробует снова, а не бросит попытку.

2

Ничего не перезаписывает

Каждое полученное значение добавляется новой строкой с отметкой, когда оно пришло. Поэтому видно не только каким курс был, но и что сервис знал о нём в любой прошлый день.

3

Раз в сутки перепроверяет две недели назад

Источник иногда правит уже опубликованные значения. Ночью сервис заново запрашивает последние 14 дней: так он замечает правки и заодно добирает всё, что мог пропустить, пока был недоступен.

4

Проверяет, что данные не сломались

Пустой ответ, три валюты вместо полусотни, отрицательный курс, скачок в десять раз, значение, которое перестало меняться. Подозрительная запись откладывается в сторону, а остальные сохраняются: одна плохая строка не должна отменять весь день.

5

Ведёт журнал каждого захода

Когда, сколько попыток, сколько строк, какая версия кода работала. Через три месяца по этому журналу собирается отчёт, который отвечает на вопрос, всё ли было в порядке, цифрами, а не на словах.

6

Сообщает, только когда есть что делать

Повторное срабатывание той же проблемы не шлёт новое письмо, иначе через месяц их перестанут читать. Отдельно отслеживается обратное: если задача вдруг перестала запускаться, это тоже сигнал.