2011-03-09 7 views
0

スケジュールされたタスクで(cfがメモリ不足のため)多くのcfthreadを使用しています。タスクキューが上限に達しているため、新しいスレッドを作成できません5000

Cannot create a new thread because the task queue has reached it maximum limit 5000.

だからここに私の質問です:

  1. まさに「タスクキューは」何で、そしてドキュメントはどこですか?
  2. この制限をどのように増やしますか?
  3. どのように限度額を動的に決定することができますか?キューにはすでにいくつのスレッドがありますか?

答えて

1

私はあなたの別の質問への答えとして提供された実行結合のイディオムを使用しないのはなぜですか:many queries in a task to generate json?このコード例を変更していくつかのスレッドを作成し、非同期に動作するものを探しているならば参加することができます。さらに、サーバーがスレッド間でコンテキストを切り替えるのに時間がかかり過ぎるため、質問と同じ数のスレッドを使用すると、実際には速度が遅くなることが説明されています。

+0

良い点は、今は50スレッドを実行していて、実行した後に50スレッドに参加するということです。これはうまくいくようです。 – erikvold

0

制限は変更できない組み込みの制限のようです。

上記のメッセージはエラーメッセージですので、cftrycfthreadをラップして制限に達するとわかります。

関連する問題