Heroku上的Rails 4:web dyno服务于旧资产,而其他服务则是新的

时间:2014-02-27 20:06:33

标签: heroku ruby-on-rails-4 assets

这个问题刚刚出现在我们最近几次推送到Heroku,因为升级到Rails 4.我的应用程序有两个web dynos。我通过故障排除找到的是,当有新的编译资产可用时,我遇到一个web dyno加载旧的编译CSS文件的问题。然后,另一个web dyno将提供当前所需的应用程序CSS。我应该声明我们在推送到heroku之前编译我们的资产。

我发现,为旧资产提供服务的网络dyno始终服务于旧资产。我已经尝试删除web.2然后重新创建它,问题仍然存在。我甚至已经创建了8个网络动态,然后记录它们以查看它们是否提供了新的或旧的资产。在那次测试中,大约一半的dynos坚持服务于旧资产,一半服务于新资产。

重新启动单个dynos似乎也没有帮助。

我们在Ruby 2.1上运行Rails 4

1 个答案:

答案 0 :(得分:3)

一种选择是尝试更改config.assets.version文件中的config/application.rb属性。我遇到了这个问题,其中一些资产陈旧,将此值从1.0更改为1.1已经为我解决了这个问题:

配置/ application.rb中

config.assets.version = '1.1'