为什么Heroku在应用程序闲置一段时间后重新编译我的资产?
在生产中(在Heroku上),不应该在启动时编译资产一次,然后再也不编译?
/production.rb config.serve_static_assets = false config.assets.compress = true config.assets.compile = false config.assets.digest = true
当有人没有按下我的应用程序一段时间时,事情就会变得空闲,似乎资产在新的新请求进入时会被重新编译?
知道我做错了什么?
在Heroku上,如果您的应用程序闲置一小时,则dynos将进入待机状态。 这就是为什么当您重新访问应用程序时,第一次加载需要一些时间。 你提到“启动”时间 – 这正是你的dynos重新启动后发生的事情, 你的实例在你推动后不会持续运行。
当dynos恢复生命时,您的资产将需要预编译,因为您将config.assets.compile
设置为false。 这种行为确实不是很平常。
如果你想避免这种情况,你可以设置一个cron作业来每半小时curl
你的heroku实例。
- Rails 5 Heroku部署错误:ExecJS :: ProgramError:SyntaxError:意外的令牌:name(autoRegisterNamespace)
- “heroku运行rake资产:干净”不会清理任何东西
- 如何配置Google Domains + Heroku wa Naked Domain
- heroku上rails应用程序中的sass错误:无法转储匿名类
- 添加字体后,Heroku Rails资产管道无法预编译
- Heroku 500内部服务器错误
- Heroku在部署时不会预编译资产
- 如何将pdftk添加到Heroku Cedar应用程序?
- Heroku上的ffmpeg:无法识别的选项’预设’