资产内容(图像,js和css)随机切换不同的请求

时间:2012-09-01 20:49:45

标签: ruby-on-rails heroku

我的应用程序 - cloudlist(cloudli.st) - 使用Heroku,rails 3.2和一堆宝石。在过去的几天里,我们已经开始在部署后几个小时看到我们的布局中断。

奇怪的是,文件的内容在不同的请求上随机切换。我们使用rails资产管道和所有默认值,没有任何改变。在部署之后一切都很好。经过一段时间(通常是几个小时)后,某些区域的布局开始出现问题。有时只有一个图像具有不同的内容,有时甚至JS或CSS文件具有不同的内容。我们还看到了完全混淆的文件。这一切都很奇怪,我在网上找不到任何东西。

为了说明问题,请参阅以下具有错误内容的精灵的图像。

enter image description here

另请参阅文件frame.png的内容。它应该显示瓷砖的框架,但有时它会显示奖项提名徽章。

enter image description here

有没有人见过类似的东西,或者你知道如何解决这个问题吗?

如果这种情况继续下去,我们需要从Heroku迁移并使用其他基础设施。

1 个答案:

答案 0 :(得分:1)

根据heroku(https://devcenter.heroku.com/articles/rack-cache-memcached-rails31)给出的建议,结果如下。

简而言之:它没有帮助。

长版:

我不使用memcached进行缓存。我都不使用片段或动作缓存。至少我在我的应用程序中根本不使用缓存。

缓存的唯一内容是配置参数

完成的事情

config.action_controller.perform_caching = false

在生产环境中。

我浏览了文章并检查了每个参数。我唯一不同的是 config.serve_static_assets ,其中 false 。我将其设置为true,重新部署(启用缓存)并在几个小时后得到相同的问题。

我不知道出了什么问题,但由于我的文件中的内容与预期不符,我必须得出结论,这是您基础架构中的内容。例如。我请求 application-(any-digest).css ,我得到精灵 - (任意摘要).png 应用程序 - (任意摘要).js