上周RedisToGo在Herokum上被终止,让我别无选择,只能寻找替代品。我从Heroku那里得到了一个新的订阅:希鲁·雷迪斯。
除了与ActionCable相关的东西,一切似乎都工作得很好(所有任务/工作)。
[ActionCable] [#######] Registered connection (#########)
2022-08-17T00:40:23.213184+00:00 app[web.1]: #<Thread:0x00007e#####@/app/vendor/bundle/ruby/2.6.0/gems/actioncable-5.1.7/lib/action_cable/subscription_adapter/redis.rb:144 run> terminated with exception (report_on_exception is true):
2022-08-17T00:40:23.213206+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/redis-4.1.4/lib/redis/client.rb:268:in `rescue in io': Connection lost (ECONNRESET) (Redis::ConnectionError)
我花了过去几天尝试各种技巧,但没有工作。我的cable.yml
文件看起来像:
production:
adapter: redis
url: <%= ENV['REDIS_URL'] %>
我的redis.rb
文件看起来像这样:
uri = if Rails.env == 'production'
URI.parse(ENV["REDIS_URL"])
else
URI.parse("redis://localhost:6379")
end
Resque.redis = Redis.new(host: uri.host, port: uri.port, password: uri.password, ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE })
是否缺少某些参数导致错误?
1条答案
按热度按时间ffdz8vbo1#
我使用Heroku Redis,我的
cable.yml
看起来是这样的:如果你的任务和工作没有使用Redis(如果ActionCable是唯一一个尝试使用Redis的软件),那么你的Redis实际上可能没有正确设置。
1.检查以确保Heroku实际设置了
REDIS_URL
env变量:1.请确保示例具有正常配置:https://devcenter.heroku.com/articles/heroku-redis#configuring-your-instance
另外两个有用的来源: