【发布时间】:2014-05-13 21:10:46
【问题描述】:
在更新我的 gem 并将所有内容投入生产之后,我在 Heroku 上启动 sidekiq 时遇到了很大的问题。问题是 Sidekiq 试图在本地连接和端口上连接到 Redis,而不是使用 REDISTOGO 变量。花了几个小时后,我设法修复它:在下面回答。
【问题讨论】:
在更新我的 gem 并将所有内容投入生产之后,我在 Heroku 上启动 sidekiq 时遇到了很大的问题。问题是 Sidekiq 试图在本地连接和端口上连接到 Redis,而不是使用 REDISTOGO 变量。花了几个小时后,我设法修复它:在下面回答。
【问题讨论】:
从 if 和下面删除所有内容并运行:
heroku config:set REDIS_PROVIDER=REDISTOGO_URL
Sidekiq 会自动使用它。
【讨论】:
我查找了 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
【讨论】:
不是答案 - 但想为这篇文章添加 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 来找出问题所在,这就是解决方案!非常感谢 - 我希望我能不止一次地为你的答案投票!!
【讨论】: