所以问题基本上可以归结为:
在生产环境的Rails中,如何有效地处理变化的资产而无需重新启动服务器?
我们遇到的问题是,我们必须重新启动运行应用程序的Thin服务器,才能提供更新后的JavaScript文件。
一些背景:
现在,我们每小时从几个长时间运行的任务中生成数据,并将其保存在JavaScript文件中,以便在Rails应用程序中使用。
需要明确的是,我们更新/覆盖现有文件,而不是添加新文件。
生成后,我们运行以下命令,以重新编译所有资产。
bundle exec rake assets:precompile
bundle exec rake rails_group=assets assets:clean RAILS_ENV=production
即使清除浏览器缓存并重新加载页面,我们仍然会被提供旧资产。
你们有没有类似的经验?你们是如何解决的?
附:祝大家节日快乐!
touch tmp/restart.txt
。 - MurifoX