(PECL mongo >=1.5.0)
MongoCursor::maxTimeMS — Sets a server-side timeout for this query
Specifies a cumulative time limit in milliseconds to be allowed by the server for processing operations on the cursor.
ms
Specifies a cumulative time limit in milliseconds to be allowed by the server for processing operations on the cursor.
This cursor.
Throws MongoCursorException if this cursor has started iterating.
Causes methods that fetch results to throw a MongoExecutionTimeoutException if the query takes longer than the specified number of milliseconds in processing time.
Пример #1 MongoCursor::maxTimeMS() example
In the following example, the server will abort the query if the cursor requires more than two seconds in processing time to return its results.
<?php
$cursor = $collection->find();
$cursor->maxTimeMS(2000);
try {
$results = iterator_to_array($cursor);
} catch (MongoExecutionTimeoutException $e) {
echo "query took too long!";
}
?>
Unlike MongoCursor::timeout(), which specifies a client-side timeout, MongoCursor::maxTimeMS() can be used to cause the MongoDB server to abort long-running queries. This timeout is cumulative for the lifetime of the cursor (i.e. each batch will contribute to this time limit). The timeout only considers processing time; idle time is not considered.