0

我一次初始化了 250 个线程,它们返回更新数据库中的一些数据。我在我的 rails 2 应用程序中使用 Postgresql 数据库。我设置了池大小 100 和最大连接数 100,但问题是在 100 个连接后,剩余线程会导致诸如“致命错误:客户端太多”之类的问题。所以现在我想要的是,只要任何线程完成其进程,然后终止该线程。所以要实现这一点我该怎么办?

这是我的代码:

consider detail = "contains 250 items in an array"
 threads = []
      detail.each do |item|
          threads << Thread.new( item) do | item |
           # block of code
          end
      end
   threads.each { | t | t.join } 
4

1 回答 1

0

我希望您使用的是实施了连接池的 Rails 2.2。检查这个:

http://guides.rubyonrails.org/2_2_release_notes.html#connection-pooling

这个http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/ConnectionPool.html

于 2013-02-07T10:42:17.360 回答