Ruby on rails 使用连接池块在rails中执行吸盘穿孔测试会导致连接超时

Ruby on rails 使用连接池块在rails中执行吸盘穿孔测试会导致连接超时,ruby-on-rails,ruby,activerecord,sucker-punch,Ruby On Rails,Ruby,Activerecord,Sucker Punch,提前感谢您的友好回复 在工作中,我们使用gem作为rails应用程序,以异步方式发送电子邮件和其他我们想要做的事情 我们实现了几个参与者,没有任何问题,甚至使用推荐的配置成功地为他们编写了一些测试(在规范中要求sucker\u punch/testing/inline,并使用截断作为数据库清理策略) 在我们决定实施的最后一个演员之前,一切都很顺利。它与其他测试套件没有什么不同,但是现在,在运行测试套件时,会引发ActiveRecord::ConnectionTimeoutError 我在互联网上

提前感谢您的友好回复

在工作中,我们使用gem作为rails应用程序,以异步方式发送电子邮件和其他我们想要做的事情

我们实现了几个参与者,没有任何问题,甚至使用推荐的配置成功地为他们编写了一些测试(在规范中要求
sucker\u punch/testing/inline
,并使用截断作为数据库清理策略)

在我们决定实施的最后一个演员之前,一切都很顺利。它与其他测试套件没有什么不同,但是现在,在运行测试套件时,会引发
ActiveRecord::ConnectionTimeoutError

我在互联网上搜索了一个解决方案,但什么也没找到。大多数答案(如)建议使用
ActiverRecord::Base.connection\u pool.with\u connection
方法将块传递给它。我们已经在做了

我能想到的唯一一件事是,我们正在处理演员的错误,拯救例外,就像这样:

def perform
  ActiveRecord::Base.connection_pool.with_connection do
    begin
      ... # do something
    rescue SomeException => e
      ... # handle exception
    end
  end
end
但是考虑到这一点并不成问题,因为
与_connection
有一个确保释放它的方法

我将开始一个问题的吸盘冲压,并将更新这个问题,如果我有一些消息

有问题的版本可以等待,但这也让我想知道我们是否在生产中遇到了同样的问题

干杯, 阿尔达纳

编辑 gem的作者告诉我,代码显然没有问题,并建议增加池大小。我将使用这种方法,如果错误仍然存在,我们将更改代码的某些部分,使其不使用punch