redis 尝试连接到 Heroku 中的本地主机 - 为啥?

Posted

技术标签:

【中文标题】redis 尝试连接到 Heroku 中的本地主机 - 为啥?【英文标题】:redis attempting to connect to local host in Heroku - WHY?redis 尝试连接到 Heroku 中的本地主机 - 为什么? 【发布时间】:2014-05-30 03:36:51 【问题描述】:

我使用 sidekiq/redis 已经有一段时间了,到目前为止没有任何问题。

由于某种原因,今天我收到此错误:

Redis::CannotConnectError - Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED):

所以,Redis 正在尝试连接到我的 localhost 连接,而不是我在 heroku 中的 redis_to_go url。

我的 redis.rb 文件如下所示:

uri = URI.parse(ENV["REDISTOGO_URL"] || "redis://localhost:6379/")
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

当我输入 heroku config 时,我得到了这个:

REDISTOGO_URL: redis://redistogo:b9f872ce1dd16cd989@albacore.redistogo.com:10280/

它完全映射到我在 Heroku 的 Redis To Go 插件中看到的网址。

据我所知,从昨天的 Redis 工作到今天的不工作,Redis 没有发生任何变化,但我确实使用 Mongo HQ 启动了一个 Mongo DB。也许某处有冲突?

感谢任何帮助。

编辑

我没有 mongo 初始化文件,我创建的唯一 mongo 特定文件是我的 config/mongoid.yml 文件。它看起来像这样:

development:
   sessions:
     default:
       database: mongoid_dev
       hosts:
        - localhost:27017
   options: #strictly 2 spaces before
     raise_not_found_error: false #strictly 4 spaces before not 6
 
 production:
   sessions:
     default:
       uri: <%= ENV['MONGOHQ_URL'] %>
   options: #strictly 2 spaces before
     raise_not_found_error: false #strictly 4 spaces before not 6

我从 Master 安装了 Mongo,并且正在运行 rails 4.1.0。

编辑2

完整的跟踪错误如下:

2014-04-15T20:33:05.068810+00:00 app[web.1]: Redis::CannotConnectError - Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED):
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:290:in `rescue in establish_connection'
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:285:in `establish_connection'
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:79:in `block in connect'
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:257:in `with_reconnect'
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:78:in `connect'
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:304:in `ensure_connected'
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:191:in `block in process'
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:270:in `logging'
2014-04-15T20:33:05.068810+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:190:in `process'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis/client.rb:96:in `call'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis.rb:186:in `block in info'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis.rb:37:in `block in synchronize'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis.rb:37:in `synchronize'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/redis-3.0.7/lib/redis.rb:185:in `info'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sidekiq-3.0.0/lib/sidekiq/web.rb:218:in `block (2 levels) in <class:Web>'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/connection_pool-2.0.0/lib/connection_pool.rb:58:in `with'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sidekiq-3.0.0/lib/sidekiq.rb:69:in `redis'
2014-04-15T20:33:05.069016+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sidekiq-3.0.0/lib/sidekiq/web.rb:218:in `block in <class:Web>'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `call'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `block in compile!'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `[]'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (3 levels) in route!'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:985:in `route_eval'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/agent/instrumentation/sinatra.rb:133:in `route_eval_with_newrelic'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (2 levels) in route!'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1006:in `block in process_route'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `catch'
2014-04-15T20:33:05.069244+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `process_route'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/agent/instrumentation/sinatra.rb:116:in `process_route_with_newrelic'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:964:in `block in route!'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `each'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `route!'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1076:in `block in dispatch!'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1073:in `dispatch!'
2014-04-15T20:33:05.069903+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/agent/instrumentation/sinatra.rb:151:in `dispatch_and_notice_errors_with_newrelic'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/agent/instrumentation/sinatra.rb:146:in `block in dispatch_with_newrelic'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:335:in `perform_action_with_newrelic_trace'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/agent/instrumentation/sinatra.rb:143:in `dispatch_with_newrelic'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `block in call!'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `call!'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:886:in `call'
2014-04-15T20:33:05.070192+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/rack/error_collector.rb:55:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/rack/browser_monitoring.rb:27:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/rack/agent_hooks.rb:32:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in `call'
2014-04-15T20:33:05.070654+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/journey/router.rb:71:in `block in call'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/journey/router.rb:59:in `each'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/journey/router.rb:59:in `call'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/routing/route_set.rb:676:in `call'
2014-04-15T20:33:05.070976+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/rack/error_collector.rb:55:in `call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/rack/agent_hooks.rb:32:in `call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/rack/browser_monitoring.rb:27:in `call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/warden-1.2.3/lib/warden/manager.rb:35:in `block in call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/warden-1.2.3/lib/warden/manager.rb:34:in `catch'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/warden-1.2.3/lib/warden/manager.rb:34:in `call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/etag.rb:23:in `call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/conditionalget.rb:25:in `call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
2014-04-15T20:33:05.071462+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/flash.rb:254:in `call'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:in `context'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in `call'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/cookies.rb:560:in `call'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.0/lib/active_record/query_cache.rb:36:in `call'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:82:in `run_callbacks'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
2014-04-15T20:33:05.071665+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.0/lib/rails/rack/logger.rb:38:in `call_app'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.0/lib/rails/rack/logger.rb:20:in `block in call'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.0/lib/active_support/tagged_logging.rb:68:in `block in tagged'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.0/lib/active_support/tagged_logging.rb:26:in `tagged'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.0/lib/active_support/tagged_logging.rb:68:in `tagged'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.0/lib/rails/rack/logger.rb:20:in `call'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
2014-04-15T20:33:05.072148+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.0/lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.0/lib/action_dispatch/middleware/static.rb:64:in `call'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in `call'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.0/lib/rails/engine.rb:514:in `call'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.0/lib/rails/application.rb:144:in `call'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:572:in `process_client'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:666:in `worker_loop'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb:22:in `call'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/newrelic_rpm-3.7.3.204/lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb:22:in `block (4 levels) in <top (required)>'
2014-04-15T20:33:05.072577+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:521:in `spawn_missing_workers'
2014-04-15T20:33:05.073631+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:140:in `start'
2014-04-15T20:33:05.073631+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.2/bin/unicorn:126:in `<top (required)>'
2014-04-15T20:33:05.073631+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `load'
2014-04-15T20:33:05.073631+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `<main>'

【问题讨论】:

你能试着用Redis.new(url: (ENV['REDISTOGO_URL'] || 'redis://127.0.0.1:6379')) 来简化你的初始化程序吗?这就是我文件中的全部内容。 @blootto 没有骰子。我什至取出了or localhost 部分,但它仍然不起作用。它必须从其他地方获取本地主机 URL。 我的猜测是您项目中的其他代码没有抓取 inits Redis 对象。转到 heroku 控制台并进行一些快速测试.. 1) p ENV['REDISTOGO_URL'] 2) Redis.new(url: (ENV['REDISTOGO_URL'])) ;如果这确实指向 albacore 而不是 localhost,则您的项目代码根本不会访问您的初始化对象。接下来我会在提议的答案中推荐一些配置 他们确实都指向长鳍金枪鱼 - 我猜是时候回溯并找出问题所在了。 【参考方案1】:

我遇到了同样的问题。 Sidekiq 3+ 不会自动重新识别 REDISTOGO_URL 环境变量,而是使用 REDIS_PROVIDER。我做了一个配置参考:

heroku config:set REDIS_PROVIDER=REDISTOGO_URL

问题就解决了

我在blog post中给出详细解释

【讨论】:

这是最好的答案 @DipakPanchal,我很高兴它有帮助!【参考方案2】:

这样设置你的 redis.rb 文件:

 module MyApp
   class << self
     def redis
       @redis ||= Redis.new(url: (ENV['REDISTOGO_URL'] || 'redis://127.0.0.1:6379'))
     end
   end
 end

在你的 sidekiq.rb 中做:

 Sidekiq.configure_server do |config|

   Rails.logger = Sidekiq::Logging.logger

   config.redis =  :url => MyApp.redis[:url], :namespace => 'sidekiq', :size => 5 
 end

 Sidekiq.configure_client do |config|
   config.redis =  :url => MyApp.redis[:url], :namespace => 'sidekiq', :size => 1 
 end

这将确保 Sidekiq 从您的 redis.rb 初始化文件中获取 Redis 连接。

【讨论】:

bahh 完全没有运气地复制了它。我将我的应用程序回滚到设置 MongoHQ 之前,它工作正常。我必须在 Mongo 的设置中做一些事情来搞砸。 是的..我想知道 Mongo 是否覆盖了你的一些 Redis 配置。也许也可以为 Mongo 发布您的初始化。【参考方案3】:

问题在于 ENV 变量:

根据 sidekiq 的文档:

RedisToGo 可以与默认的 REDISTOGO_URL 环境变量一起使用 Sidekiq 2.x 及更早版本(旧版支持 REDISTOGO_URL 原因,推荐使用 REDIS_PROVIDER 和 REDIS_URL 变量)。

对于 sidekiq 3 及更高版本,您必须使用 REDIS_PROVIDERREDIS_URL ENV 变量而不是 REDISTOGO_URL。您不需要 sidekiq 初始化程序,这段代码可以解决问题:

从终端运行以下命令

heroku config:set REDIS_PROVIDER=redis://...........

【讨论】:

REDIS_PROVIDER 并不是用来保存实际的 URL - 它是用来保存包含 URL 的 ENV var 的名称。所以字面上应该是REDIS_PROVIDER=REDISTOGO_URL

以上是关于redis 尝试连接到 Heroku 中的本地主机 - 为啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何让本地heroku应用程序连接到远程REDIS?

Nodejs App 崩溃 heroku - 错误无法连接到 localhost:27017

我正在尝试将我的本地 spring boot 应用程序连接到我的 heroku postgres db

尝试使用 Spring JPA 从本地 Springboot 项目连接到 heroku-postgres 时出现 UnknownHostException

无法使用 sequelize 从本地节点应用程序连接到 heroku postgresql 数据库

节点连接到本地主机中的 Xmpp 服务器