Rails (редко) пытается загрузить старые файлы пакета - PullRequest
1 голос
/ 28 июня 2019

Я использую новую реликвию с моим приложением, и, кажется, часто появляются 404.Файл, который он пытается загрузить, является более старым packs/js/application-blah.js, иногда одна старая ревизия, иногда самая первая ревизия (10+ развертывается и несколько недель назад).Это начало происходить (я думаю) при обновлении до webpacker 4 с версии 3.5.

За 12-часовой период я ​​увидел 10 ошибок для 404 и обслуживал в среднем 40 страниц в минуту в течение периода времени, поэтомудовольно редко, и я не могу воспроизвести его.Кажется, он не зависит от операционной системы или браузера, я вижу его во всем, от Edge в Windows до Safari в iOS 12.

Также, похоже, пытается загрузить файл из packs/, которыйЯ не думаю, что должно существовать больше с webpacker 4?

Это выдержка из того, что я вижу в New Relic:

No route matches [GET] "/packs/js/application-1a5742633d44555a15cf.js"
No route matches [GET] "/packs/application-b8e132938408ef6c4ee9.js"

Вот как packs/manifest.json выглядит:

{
 "application.js": "/packs/js/application-63945be2fec97ef46418.js",
 "application.js.map": "/packs/js/application-63945be2fec97ef46418.js.map",
 "entrypoints": {
   "application": {
     "js": [
       "/packs/js/application-63945be2fec97ef46418.js"
     ],
     "js.map": [
       "/packs/js/application-63945be2fec97ef46418.js.map"
     ]
   }
 }
}

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

Я запустил скрипт для загрузки страницы и посмотрел на голову, чтобы увидеть, что она пытается обслуживать, и толькокогда-нибудь видите правильный файл, так что я подозреваю, что это может быть как-то связано со стороной клиента?Приложение использует turbolinks, но если оно пытается захватить файлы пакета, это должно означать загрузку всей страницы, поэтому на turbolinks не должно быть кэшировано старых файлов.очень признателен!

...