我们是一个非盈利性的社交媒体社区。我们从免费的Heroku Redis计划升级到最低层的付费Heroku Redis计划。网站非但没有提高性能,反而崩溃了。现在还在宕机。
我们在SSL问题上得到了一些帮助,并更新了sidekiq.rb和actioncable.yml(见下文),但现在redis无法连接到actioncable,我们得到了一系列关于无法连接的错误。
这是我们的sidekiq.rb
Sidekiq.default_worker_options = {
backtrace: true,
retry: true
}
sidekiq_redis = lambda do
Redis.new(url: ENV['REDIS_URL'], ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE })
end
Sidekiq.configure_client do |config|
config.redis = ConnectionPool.new(size: 2, &sidekiq_redis)
end
Sidekiq.configure_server do |config|
config.redis = ConnectionPool.new(size: 17, &sidekiq_redis)
end
Sidekiq::Extensions.enable_delay!
我们的电报。yml
development:
adapter: redis
url: redis://localhost:6379/1
test:
adapter: async
production:
adapter: redis
url: <%= ENV['REDIS_URL'] %>
ssl_params:
verify_mode: <%= OpenSSL::SSL::VERIFY_NONE %>
我们现在使用的是Heroku Redis $15/月计划。我们一升级,网站就崩溃了。有人帮我们更新了sidekiq.rb和actioncable.yml,但网站仍然无法工作。
其他错误包括:
- Redis::ConnectionError Sidekiq新问题连接丢失(ECONNRESET)
- heroku[路由器]:at=错误代码=H13 desc=“连接关闭,无响应”
- heroku[路由器]:at=error code=H10 desc=“App crashed”method=GET path="/cable”
- E连接拒绝
2条答案
按热度按时间tp5buhyn1#
我也遇到了同样的问题,在寻找解决方案时发现了这个线程。修复方法是sidekiq.rb:
有关讨论,请参见https://ogirginc.github.io/en/heroku-redis-ssl-error。
qojgxg4l2#
我们能够让它工作,我现在试着回忆我们做了什么。一些可能性:
1.我们更新了Heroku上的redis,从redis-to-go到实际的redis。
1.我们更新了REDIS_URL
1.我们实际上完全删除了整个redis示例,然后创建了一个新示例,我相信这就是@spickermann上面提到的。
最后,其中一个解决方案最终奏效了。我很遗憾,时间太长了,我不能肯定地说,但是......我几乎可以肯定这与上面的2和3有关。