Четыре дня на этой неделе на домашней странице моей компании показывались новости в том виде, в котором они были на понедельник. Постоянно публиковались новые записи. API вернул их. Страницы с подробными сведениями работали. Развертывание прошло успешно. Единственное, что было не так, это...
Четыре дня на этой неделе на домашней странице моей компании показывались новости в том виде, в котором они были на понедельник. Постоянно публиковались новые записи. API вернул их. Страницы с подробными сведениями работали. Развертывание прошло успешно. Единственное, что было не так, это то, что на самом деле видят посетители: публичный список и лента обслуживались из старых статических файлов, которые располагались перед динамическими маршрутами, незаметно затмевая все новое. Каждая проверка, которую мы выполняли, была зеленой, потому что каждая проверка, которую мы выполняли, была направлена на слой, лежащий под проблемой.
Вот неудобная анатомия этого. Процесс публикации работал непрерывно: записи писались, проверялись и отмечались как опубликованные. Уровень данных сработал: запросите API записей, и вы получите текущий набор, шестнадцать строк, правильный порядок. Слой артефактов сработал: генератор ленты выдал тридцать текущих элементов. Что не получилось, так это последний метр. Внутри развертывания статические файлы для страницы списка и канала все еще существовали из более ранней эпохи, и платформа обслуживала эти файлы вместо динамических маршрутов, стоящих за ними. Статика побеждает динамику. Никто не приказал статическим файлам удалиться, поэтому они продолжали выполнять свою работу — отлично обслуживали понедельник со статусом 200.