Heroku上的Redistogo和Sidekiq:无法连接

时间:2014-04-02 14:01:41

标签: heroku redis sidekiq

在更新我的宝石并将所有内容投入生产后,我在Heroku上启动sidekiq时遇到了很大的问题。问题是Sidekiq尝试在本地连接和端口上连接到Redis,而不是使用REDISTOGO变量。花了几个小时后,我设法解决了这个问题:在下面回答。

3 个答案:

答案 0 :(得分:25)

从if及以下删除所有内容并运行:

heroku config:set REDIS_PROVIDER=REDISTOGO_URL

Sidekiq会自动使用它。

答案 1 :(得分:3)

我查找了RedisToGo提供的正确的新连接,然后将其插入到变量中。 SO上的一些帖子声称这不是必要的,但似乎是。

我在初始化程序中的sidekiq.rb文件现在看起来像这样,一切正常。

require 'sidekiq/web'

Sidekiq.configure_server do |config|
ActiveRecord::Base.configurations[Rails.env.to_s]['pool'] = 30
end

if Rails.env.production?
 Sidekiq.configure_server do |config|
 config.redis = { url: ENV["REDISTOGO_URL"]}
end
Sidekiq.configure_client do |config|
 config.redis = { url: ENV["REDISTOGO_URL"]}
end
end

答案 2 :(得分:0)

不是答案 - 但想要为此帖添加SEO,以便其他人可以找到这个。 这也是heroku将抛出错误的问题的答案:

could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

这个问题在许多SO问题上都没有得到解答(example),并且每个人都说数据库配置不正确,但情况并非如此。

我试图让hourrrrsss弄清楚问题,这就是解决方案!非常感谢你 - 我希望我能不止一次地回答你的答案!!