Sidekiq在docker中每隔几个小时崩溃

问题描述 投票:0回答:1

我面临一个问题,即sidekiq在docker中每隔几个小时就会崩溃。当sidekiq尝试连接到Redis并且重新启动容器不起作用时,调查日志会显示“ TimeoutError”。我可以使它再次工作的唯一方法是重新启动docker守护程序。

[经过大量调查,我认为根本原因与Docker中的日志记录问题有关,无法跟上Redis日志。我看到的诊断来自this post。他们的解决方案是downgrade docker,但似乎docker尚未修复到19.03.3版本,因此恢复到旧docker版本的解决方案是不可行的。

除了降级之外,还有其他可行的解决方法吗?有人遇到过这个问题吗?有解决方案的建议吗?

ruby-on-rails docker logging redis sidekiq
1个回答
0
投票

我用手指交叉但我思考我有一种解决方法。

由于该问题似乎一直徘徊在日志记录问题周围。简单的解决方案似乎是禁用sidekiq尝试连接的redis容器的日志记录或将日志记录模式设置为“非阻塞”。

我在下面提供了一个示例docker-compose文件来说明如何执行此操作:

version: "3.7"
services:
  ruby:
    build: .
    command: rails s
  sidekiq:
    build: .
    command: bundle exec sidekiq
  db:
    image: "postgres:11.1"
  redis:
    image: "redis:4.0"
    logging:
      mode: non-blocking
      # or
      # driver: none

到目前为止已经大约8个小时了。如果此操作持续进行到明天,则可能是目前的合理解决方法。

© www.soinside.com 2019 - 2024. All rights reserved.