(PECL mongo >=1.5.0)
MongoCursor::maxTimeMS — Establece un tiempo límite en el lado del cliente para esta consulta
Especifica el tiempo límite acumulativo en milisegundos permitido para que el sevidor procese operaciones en el cursor.
ms
Especifica el tiempo límite acumulativo en milisegundos permitido para que el sevidor procese operaciones en el cursor.
Este cursor.
Lanza una MongoCursorException si este cursor ha comenzado a iterar.
Causa que los métodos que obtengan resultados lancen una MongoExecutionTimeoutException si una consulta toma más del número de milisegundos especificado en procesarse.
Ejemplo #1 Ejemplo de MongoCursor::maxTimeMS()
En el siguiente ejemplo, el servidor abortará la consulta si el cursor requiere más de dos segundos en precesarla para que devuelva los resultados.
<?php
$cursor = $collection->find();
$cursor->maxTimeMS(2000);
try {
$results = iterator_to_array($cursor);
} catch (MongoExecutionTimeoutException $e) {
echo "!la consulta tomó demasiado tiempo!";
}
?>
A diferencia de MongoCursor::timeout(), el cual especifica un timepo límite en el cliente, MongoCursor::maxTimeMS() puede ser empleado para que el servidor de MongoDB aborte consultas que tomen mucho tiempo en ejecutarse. Dicho tiempo es acumulativo para el tiempo de vida del cursor (es decir, cada lote contribuirá a este tiempo límite). El tiempo límite solamente considera el tiempo de procesamiento; el tiempo no efectivo no se considera.