Мы исправили баг в коде, который выполняется при сбросе кэша после выката. Выкатили исправление — баг воспроизвёлся в точности. Исправление было верным. Просто его выполнил не тот код.

Это двадцать первая часть цикла «Кэш страниц без MISS».

Что произошло

Выкат копирует файлы по одному. Порядок определяется утилитой копирования, а не логикой приложения. В журнале выката:

ВремяФайл
10:48:41манифест сборки фронта
10:49:08исправленный PHP-файл обходчика

Двадцать семь секунд между ними. Детектор выката (двадцатая часть) увидел новый манифест и запустил сброс и прогрев — старым кодом обходчика, потому что новый ещё не приехал.

Вывод

Правку в пути сброса нельзя проверить тем же выкатом, который её привёз. Тот выкат исполнит прежняя версия кода.

Проверять двумя способами:

  • следующим выкатом — любым, хоть с изменением одного комментария в исходниках фронта;
  • руками — вызвать сигнал сброса из консоли WordPress: do_action('cache_purged'). Это занимает 0,03–0,07 с и запускает ровно тот путь, что и выкат.

А можно ли упорядочить копирование

Можно копировать манифест последним — отдельным шагом после остальных файлов. Тогда детектор срабатывает, когда весь код уже на месте. Это правильнее, но требует правки пайплайна выката на каждом сайте; пока мы проверяем вторым способом.

Исправление не сработало после выката?

Пришлите описание — проверю, не выполнил ли его старый код.

· полезно?
АЧ
Алексей Чикун веб-разработчик, команда TRIOHEAD

Делаю сайты и сервисы целиком: от вёрстки до сервера. Пишу о том, что проверил на своих проектах.

Комментарии

// загружаю комментарии…

Комментарии публикуются после проверки. Ссылки и HTML не принимаются.