Мы предварительно скомпилируем наши активы локально, прежде чем нажимать на Heroku - так что есть масса публичных файлов/активов, которые по большей части Heroku использует на производстве - мы видя записи компиляции активов в журнале 0ms. Тем не менее, мы получаем ошибки таймаута, когда Heroku достигает javascript_include_tag "application"
в нашем заголовке макета и пытается перекомпилировать все js снова и снова.Heroku компилирует активы, которые локально предварительно скомпилированы
Должно ли это случиться? Как мы можем заставить Heroku использовать только локально скомпилированные активы и не продолжать тратить 50% на компиляцию активов? Масштабирование динамиков действительно помогает, но на самом деле это не касается основной причины.
// редактировать, чтобы объяснить, как мы используем конвейер активов //
У нас есть файл в приложении/активы/JavaScript называемого application.js - это файл манифест, который относится ко всем javascript нам нужно загрузить. Вот фрагмент:
//= require js/libs/jquery-1.7.2.min
//= require js/libs/jquery-ui-1.8.21.custom.min
//= require js/libs/jquery.ui.touch-punch.min
//= require js/libs/less-1.3.0.min
//= require js/libs/modernizr-2.5.3.min
В этом файле находятся 55 строк.
Затем мы используем javascript_include_tag "application"
в приложении/views/layouts/application.html.haml для вызова этого файла манифеста.
Большое спасибо за замечание - вопрос отредактирован. – snowangel
Вы нажали папку public/assets в Git (включая manifest.yml)? –
Да, действительно, и когда мы подталкиваем к Героку, это идентифицируется. – snowangel