Note:: There there is an important distinction between timeout and immortal!
Timeout indicates the time to wait on the _client_ side while immortal sets the cursor on the server side.
It is especially useful for large result sets in sharded environments.
MongoCursor::immortal
(PECL mongo >=1.0.1)
MongoCursor::immortal — Sets whether this cursor will timeout
Beschreibung
After remaining idle for some amount of time, cursor, by default, "die." This is generally the behavior one wants. The database cleans up a cursor once all of its results have been sent to the client, but if the client doesn't request all of the results, the cursor will languish there, taking up resources. Thus, after a few minutes, the cursor "times out" and the database assumes the client has gotten everything it needs and cleans up its the cursor's resources.
If, for some reason, you need a cursor to hang around for a long time, you
can prevent the database from cleaning it up by using this method. However,
if you make a cursor immortal, you need to iterate through all of its results
(or at least until Cursor::dead() returns TRUE) or the
cursor will hang around the database forever, taking up resources.
Parameter-Liste
-
liveForever -
If the cursor should be immortal.
Rückgabewerte
Returns this cursor.
Fehler/Exceptions
Throws MongoCursorException if this cursor has started iterating.
driver version 1.0.11
method immortal() seems just do not functioning
use timeout(-1) instead
