MongoCursor
PHP Manual

MongoCursor::immortal

(PECL mongo >=1.0.1)

MongoCursor::immortalこのカーソルをタイムアウトさせるかどうかを設定する

説明

public MongoCursor MongoCursor::immortal ([ bool $liveForever = true ] )

一定の時間何もしない状態が続けば、デフォルトではカーソルは "死にます"。 一般的に、これは期待通りの挙動です。 すべての結果をクライアントに送信し終えると、データベースはカーソルの後始末をします。 しかし、もしクライアントが結果をすべて要求しなければ、 カーソルはそこに残り続けてリソースを消費します。 したがって、数秒経過するとカーソルは "タイムアウト" し、クライアントは必要な情報をすべて取得し終えたと見なしてリソースの後始末を始めます。

何らかの理由でカーソルを長時間そのままで置いておきたい場合は、 このメソッドを使ってタイムアウトしないように設定します。 しかし、もしカーソルを死なないようにするのなら、結果をすべて (あるいは、少なくとも Cursor::dead()TRUE を返すようになるまで) 反復処理しなければなりません。 そうしないとカーソルがいつまでもデータベース上に残り続け、リソースを浪費してしまいます。

パラメータ

liveForever

カーソルを不死にするかどうか。

返り値

このカーソルを返します。

エラー / 例外

このカーソルの反復処理が始まっている場合に MongoCursorException をスローします。


MongoCursor
PHP Manual