rails 3.2.3 rake assets:预编译任务需要30多分钟

时间:2012-05-23 22:37:42

标签: ruby-on-rails ruby rake asset-pipeline

这个应用程序的问题是WIP,所以我们没有使用任何东西将它部署到我们的生产服务器,我们只是从github克隆它,我们每次完成一些事情时都会做一个git pull,rake assets:预编译任务需要30多分钟才能完成!,WTF?。

我们这样做:

$ bundle exec rake assets:clean
$ bundle exec rake assets:precompile

我们的生产服务器:

  • ruby​​ 1.9.3p194(rbenv)
  • rails 3.2.3
  • 麒麟
  • nginx的

我们的rails + unicorn + rbenv + init.d守护进程配置在这里:https://gist.github.com/2776085

现在,这是我们的资产清单,Gemfile和我们的production.rb文件:http://pastie.org/3958070

所以,有人知道为什么这么长时间?还是有办法加快生产中的资产编制?。

谢谢。

更新:在本地资产编译时间:http://pastie.org/3961734

2 个答案:

答案 0 :(得分:1)

Rails的资产管道看起来比app / assets / {javascripts,stylesheets}更进一步。 如guides中所述,还有其他位置可以放置应用程序的资产:

  • 应用程序/资产
  • LIB /资产
  • 供应商/资产

我建议您阅读Rails's asset pipeline上的完整指南,以获取有关所有这些的更多信息以及生产环境的一些提示,例如缓存的nginx规则,加速资源预编译等。

答案 1 :(得分:0)

是我们的错,我们在app / assets中有一个额外的文件夹,比如app / assets / blah里面有很多文件夹,所以资产管道在那里看,仍然,我们不知道为什么资产管道不只是查看app / assets / javascripts和app / assets / stylesheets。