Обновить

Новостной конвейер на PowerShell: три минуты от ленты источников до готовой страницы

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели4.5K
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Комментарии 2

Я у себя развёл готовый файл и опубликованную страницу. Статья прошла редактуру и проверки, а сборка сайта остановилась: заголовок на 73 знака при допустимых 56. Локально всё уже лежало на месте. Поэтому у меня после отправки на сервер идёт отдельная проверка публичного адреса: свежесть страницы и ожидаемая фраза в тексте. Только после неё журнал получает статус публикации. По одному наличию HTML такой сбой я бы пропустил.

Спасибо, это ровно та дыра, которая у нас закрыта наполовину.

Деплой у меня сверяет MD5 по каждому файлу (серверного MD5 хостинг не отдаёт, поэтому копия тянется обратно и хешируется локально). Но это проверка байтов, а не страницы: она доказывает, что на сервер лёг именно собранный файл, и ничего не говорит о том, что собралось нужное. Ваш случай с заголовком на 73 знака у меня уже был в другой форме — пятые грабли из статьи, «публикация без картинки»: сборка страницу не отдаёт, снаружи тишина, квота израсходована, материала на сайте нет.

Забираю: после выгрузки — запрос публичного адреса с cache-buster и три утверждения (200, ожидаемый H1 после нормализации, устойчивая фраза из тела), плюс сравнение хеша тела с прошлым прогоном, чтобы отличать «страница обновилась» от «отдался кэш». Журнал получает «опубликовано» только после этого, иначе — «деплой не подтверждён», и карточка остаётся в работе. В пользу именно такой проверки говорит и сам хостинг: в FTP-листинге не видно дотфайлов, а SIZE не поддерживается — «нет в списке» не значит «нет на сервере». Верить можно только ответу по HTTP.

Как у вас со свежестью: ETag/Last-Modified или хеш тела? И если страница за кэшем CDN — cache-buster в query или ждёте инвалидации?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации