ruby 从免费的Heroku Redis计划升级到第一个付费层后,我们的应用程序已经崩溃,无法工作

pvcm50d1  于 2023-04-11  发布在  Ruby
关注(0)|答案(2)|浏览(98)

我们是一个非盈利性的社交媒体社区。我们从免费的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,但网站仍然无法工作。
其他错误包括:

  1. Redis::ConnectionError Sidekiq新问题连接丢失(ECONNRESET)
  2. heroku[路由器]:at=错误代码=H13 desc=“连接关闭,无响应”
  3. heroku[路由器]:at=error code=H10 desc=“App crashed”method=GET path="/cable”
  4. E连接拒绝
tp5buhyn

tp5buhyn1#

我也遇到了同样的问题,在寻找解决方案时发现了这个线程。修复方法是sidekiq.rb:

Sidekiq.configure_server do |config|
  config.redis = { ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE } }
end

Sidekiq.configure_client do |config|
  config.redis = { ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE } }
end

有关讨论,请参见https://ogirginc.github.io/en/heroku-redis-ssl-error

qojgxg4l

qojgxg4l2#

我们能够让它工作,我现在试着回忆我们做了什么。一些可能性:
1.我们更新了Heroku上的redis,从redis-to-go到实际的redis。
1.我们更新了REDIS_URL
1.我们实际上完全删除了整个redis示例,然后创建了一个新示例,我相信这就是@spickermann上面提到的。
最后,其中一个解决方案最终奏效了。我很遗憾,时间太长了,我不能肯定地说,但是......我几乎可以肯定这与上面的2和3有关。

相关问题