PG::ConnectionBad Sidekiq 无法翻译主机名

PG::ConnectionBad Sidekiq could not translate host name

我们在 RDS AWS 中的 Postgres 上 PG:ConnectionBad 和 Rails

上的 Ruby 上遇到了很多哨兵问题
PG::ConnectionBad Sidekiq/BookingExtensionCheckWorker

could not translate host name “ls-XXXXXXXXXXXXfee44.XXXXXXXXX.eu-west-1.rds.amazonaws.com” to address: Name or service not known

两周前,我们迁移了一个新数据库,并更改了 RoR 文件中的端点 api

新数据库端点,

ls-XXXXXXXXXXXXXXXf3d4a.XXXXXXXX.eu-west-1.rds.amazonaws.com

它工作正常,新数据库和 Rails api 上的 Ruby 之间没有问题。但是,我收到很多哨兵问题说 sidekiq 连接数据库有问题,因为它们使用不再使用的旧数据库地址。我必须检查 sidekiq 数据库;代码显示它已连接到新数据库。当我 运行 Ruby 在 rails.

时,他们会继续回到旧数据库

有什么方法可以找到为什么 sidekiq 保持连接旧数据库

Sidekiq 是后台服务。因此,当有人部署时,他使用了某种类似的东西。现在你遇到了你认为很好的问题,但实际上大多数工作都不是 运行ning。几天后您就会注意到这一点。

如果你设置了 sidekiq,你如何检查作业。可能跟随 url 会导致所有工作。

your_url/sidekiq

它将向您显示所有作业,我认为您可以在此处选择重新启动服务。只需单击即可重新启动sidekiq。一切都会好起来的。

如何开始

作为您的 sidekiq 运行 旧配置。所以下面的步骤可能是危险的,我认为你必须检查你是如何开始你的过程的。否则以下是人们配置它的一些方式,运行t它。

systemctl restart sidekiq

如果这不起作用,请检查您的命令,您的部署人员已在 /etc/init.d 文件夹中设置了某种脚本 有时开发人员使用以下简单行到 运行 sidekiq

bundle exec sidekiq -d -P tmp/sidekiq.pid -L log/sidekiq.log 

bundle exec sidekiqctl stop