MongoCommandCursor::timeout

(PECL mongo >=1.6.0)

MongoCommandCursor::timeoutEstablece el tiempo de espera del lado del cliente para este comando

Descripción

public MongoCommandCursor::timeout ( int $ms ) : MongoCommandCursor

Se puede establecer un tiempo de espera en cualquier momento, por lo que afectará a la recuperación de datos subsiguientes asociados a este cursor, incluyento la obtención de más resultados de la base de datos.

Parámetros

ms

El número de milisegundos que ha de esperar el cursor a un a respuesta. Use -1 para una espera ilimitada. Por defecto, el cursor esperará 30000 milisegundos (30 segundos).

Valores devueltos

Este cursor.

Errores/Excepciones

Causa que los métodos que obtengan resutados lancen una MongoCursorTimeoutException si la obtención de los datos toma más del número de milisegundos especificados.

Ejemplos

Ejemplo #1 Ejemplo de MongoCommandCursor::timeout()

En el siguiente ejemplo, el controlador esperará 60 segundos a la primera respuesta del comando totalizador. También esperará 60 segundos cada vez que el servidor necesite ser consultado para más información.

<?php

$m 
= new MongoClient;
$col $m->database->collection;

$pipeline = [ … ];

$cursor $col->aggregateCursor$pipeline );
$cursor->timeout60000 ); // para 60 segundos

foreach ( $cursor as $result ) {
   

}

?>

Notas

Advertencia

Esto no hace que el servidor de MongoDB cancele las operaciones de ejecución larga; solamente instruye al controlador a dejar de esperar una respuesta y lanzar una MongoCursorTimeoutException después del tiempo establecido. Si fuera necesario especificar un tiempo de espera en el lado del servidor para un comando, considérese pasara la opción maxTimeMS a MongoCollection::aggregateCursor().

Ver también