Err Max客户到达Redis/sidekiq/rails



我在过去的3天里一直在这个问题上陷入困境,现在不确定现在如何看。

我在我的Rails应用程序中有一个简单的SideKiq实现。

我正在研究:Rails 4.2.0,Sidekiq 4.1.2,Redis 3.0.6

生产应用程序正在与Heroku实时运行,我有1个Worker Dyno和1个Web Dyno。

问题是这个问题,我不确定如何处理它或我为此做什么。

当我在Heroku上运行Redis-Cli时,我可以看到我运行的客户。最多我在任何给定时间都有2或3个客户。我可以轻松地用

杀死客户

CLIENT KILL TYPE normal

所以一切都很好。当事情变得有些棘手的一部分是当我本地启动服务器时,我正在开发中。突然间,我的Redic-CLI表明我有19个客户在运行。这将导致我记录

Err max clients reached

我的假设是在某种程度上,我指示Sidekiq在重新生产URL上发挥作用。我必须承认我对Redis和Sidekiq的了解是有限的,但是我对它应该如何工作有基本的了解。

任何帮助或指导将不胜感激。

尝试使用 sidekiq -c 3限制并发。

这最终是一个配置错误。以防万一任何人都偶然发现这个问题,这将有助于他们不会像我那样忽略我所做的事情。

只有当我启动本地服务器时,这个问题才会发生,所以我知道这与我当地有关。我注意到我的生产Redis:CLI我在ADDR列中看到了我本地IP的客户。

这使我相信我的本地机器正在将客户推向我的生产Redis服务器。看着我的原木时,当我发射procfile时,我在那里看到了redis url,所以只确认了它。

最后,在搜索我的代码后,我发现我实际上将URL添加到了.env中,因此当我启动服务器时,它正在使用该生产REDIS URL。因此,我将其更改为.env文件redis://127.0.0.1:6379上的本地开发的适当IP地址,现在一切正常工作。

最新更新