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 に答える