Max*_*ins 1 ruby-on-rails heroku redis puma ruby-on-rails-4
我正在尝试使用Puma在heroku上连接redis,但我一直遇到错误
Read error: #<Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED)>
我搜索了stackoverflow,但没有一个答案似乎解决了我的问题.
我的puma.rb配置
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
ActiveRecord::Base.establish_connection
Redis.current.client.reconnect
$redis = Redis.current
end
Run Code Online (Sandbox Code Playgroud)
我的redis.rb初始化程序
$redis = Redis.new(:url => ENV["REDISCLOUD_URL"])
Run Code Online (Sandbox Code Playgroud)
我查了ENV["REDISCLOUD_URL"]一下redis://rediscloud:blank@blank.eu-west-1-1.1.ec2.garantiadata.com:port
我无法弄清楚我做错了什么,这对我来说似乎都是正确的
我不得不设置config var heroku config:set REDIS_PROVIDER=REDISCLOUD_URL
Puma.rb
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
ActiveRecord::Base.establish_connection
if ENV["REDISCLOUD_URL"]
uri = URI.parse(ENV["REDISCLOUD_URL"])
Redis.current = Redis.new(host: uri.host, port: uri.port, password: uri.password)
$redis = Redis.current
else
Redis.current.quit
end
end
Run Code Online (Sandbox Code Playgroud)
redis.rb
if ENV["REDISCLOUD_URL"]
uri = URI.parse(ENV["REDISCLOUD_URL"])
$redis = Redis.new(host: uri.host, port: uri.port, password: uri.password)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1381 次 |
| 最近记录: |