heroku - Heroku 上的 Rails 4 : web dyno serving old assets, 而其他服务则为新服务

标签 heroku ruby-on-rails-4 assets

自从升级到 Rails 4 以来,这个问题最近在我们对 Heroku 的最后几次推送中才出现。我的应用程序有两个 Web dyno。通过故障排除我发现,当有更新的编译资源可用时,一个 Web dyno 加载较旧的编译 CSS 文件时遇到问题。然后,另一个 Web dyno 将为当前所需的应用程序 CSS 提供服务。我应该声明,我们在推送到 Heroku 之前编译了我们的 Assets 。

我发现,为旧 Assets 提供服务的网络测功机始终为旧 Assets 提供服务。我尝试删除 web.2 然后重新创建它,但问题仍然存在。我什至创建了 8 个网络测功机,然后记录它们以查看它们是否为新 Assets 或旧 Assets 提供服务。在那次测试中,大约一半的测功机始终服务于旧 Assets ,一半服务于新 Assets 。

重新启动单个测功机似乎也没有帮助。

我们在 Ruby 2.1 上运行 Rails 4

最佳答案

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

配置/application.rb

config.assets.version = '1.1'

关于heroku - Heroku 上的 Rails 4 : web dyno serving old assets, 而其他服务则为新服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22079212/

相关文章:

google-chrome - Chrome:通过 HTTPS 使用 corsproxy 时的 net::ERR_INSECURE_RESPONSE

node.js - Heroku 在启动脚本中失败,但我的 package.json 中有一个标准的启动脚本

django - 使用 django、celery、cloudamqp 和 heroku 的 ssl

javascript - Chartkick y 轴标签不正确

ruby-on-rails - 离开 Heroku 后我会看到速度变化吗?

ruby-on-rails - Rails 模型 - after_destroy 从未调用过

javascript - Ruby - 如何提取字符串中的 £ 符号以进行浮点转换

ruby-on-rails - Link_to rails 导致路由错误

image - SailsJS 用户上传图片

ruby-on-rails - rails : Couldn't find a file for 'twitter/bootstrap'