Heroku gem版本问题

时间:2014-08-24 18:09:42

标签: ruby-on-rails heroku bundler gemfile

我一直在研究在Heroku上运行一段时间的应用程序,偶尔我遇到一个有趣的问题,我的后台工作人员开始失败。这就好像后台工作者有一个旧版本的gem,它曾经与HTTP API交谈并被切换到HTTPS端点。导致问题的宝石是由我编写的,并在我的Gemfile中使用以下行从Github中提取:

gem 'stubhub', github: 'Zanfa/stubhub'

从我的日志中,我可以看到我得到了403,因为它试图点击非HTTPS网址(任何地方的gem都不存在)。但是,当我使用heroku run rails c打开控制台并从那里运行作业时,它永远不会出现同样的问题。

我还尝试heroku run bundle listbundle list来比较版本是否存在不匹配,但它始终会报告当前版本0.0.23。

为了让事情更有趣,这并不总是会发生。只有20%的可能性才会开始触及非https端点,并且heroku restart通常会修复它,但它会在几次推送中再次弹出。

1 个答案:

答案 0 :(得分:0)

您需要记住的是,每次执行heroku run时,您都会将您的slu_实例化为新的dyno,而不是与现有的dynos交互。谷歌搜索将显示处理Bundler缓存问题的不同人,如http://artsy.github.io/blog/2013/01/15/debugging-bundler-issues-with-heroku/

我的建议是用一个空的Gemfile推送你的repo版本(清除缓存),然后再次推送你的正常仓库。