Предварительные компиляции активов на серверах занимали много времени с помощью приложения Rails 4.0.0, и иногда процесс был убит, поэтому я переключился на его локальное использование, запустил его и выгрузил на серверы вместо.Конвейер ресурсов Rails обслуживает старые манифесты
Это решение проблемы скорости. Но Im работает в другой проблеме, когда последние активы, которые были загружены на сервер, не обслуживаются моими серверами Rails, даже если они были повторно перезапущены.
Чтобы проиллюстрировать это, версия application.css
, которая обслуживается в настоящее время с помощью нашего приложения в производстве является application-dc02e058cd956b2492c840315ccbff7f.css
манифеста файлы, доступные на сервере, -
[email protected]:/mnt/snapshot-production/current/public/assets$ ls -lt manifest-*
-rw-rw-r-- 1 app app 203032 Jan 17 05:32 manifest-3365253428e645b923e834b54fb530ea.json
-rw-rw-r-- 1 app app 203032 Jan 6 17:02 manifest-44c2495f77ae0b10489563653d482136.json
-rw-rw-r-- 1 app app 203032 Dec 30 08:53 manifest-bbe38eefd3a3671b8d1d7bf524307413.json
-rw-rw-r-- 1 app app 203212 Dec 30 08:36 manifest-7fde3fe5c6247d724bf36a7aa9baee53.json
Если я пытаюсь найти какие манифесты обратитесь к поданной в настоящее время application.css, я получаю следующее:
[email protected]:/mnt/snapshot-production/current/public/assets$ grep -rl application-dc02e058cd956b2492c840315ccbff7f.css manifest-*.json
manifest-44c2495f77ae0b10489563653d482136.json
manifest-7fde3fe5c6247d724bf36a7aa9baee53.json
manifest-bbe38eefd3a3671b8d1d7bf524307413.json
Как вы можете видеть, оно обслуживается из 3 старых версий файлов манифеста, которые у меня есть.
Если я пытаюсь найти какую версию application.css
в настоящее время подается с моего последнего файла манифеста (17 января) - manifest-3365253428e645b923e834b54fb530ea.json
-
[email protected]:/mnt/snapshot-production/current/public/assets$ grep -Po application*.css manifest-3365253428e645b923e834b54fb530ea.json
manifest-3365253428e645b923e834b54fb530ea.json:application-58eb91ccbe7698274d351e16b9b281aa.css
manifest-3365253428e645b923e834b54fb530ea.json:application-58eb91ccbe7698274d351e16b9b281aa.css
Как вы можете видеть его совершенно другую, и это то, что я ожидал мои серверы приложений теперь работают. Но его не происходит, к сожалению, много раз вызывает проблемы.
Но одно замечание, которое я заметил, но не имеет объяснений, иногда он отлично работает. Последняя версия обслуживается после определенных развертываний.
Что-то не так?
Ahh !! Понимаю. Спасибо Мэтт. И спасибо за отзыв о загрузке активов. Это блестящая идея. Никогда не думал об этом. Благодарю. –