MongoCommandCursor::timeout - Sets a client-side timeout for this command
Вернуться к: MongoCommandCursor
MongoCommandCursor::timeout
(PECL mongo >=1.6.0)
MongoCommandCursor::timeout — Sets a client-side timeout for this command
Описание
A timeout can be set at any time and will affect subsequent data retrieval associated with this cursor, including fetching more results from the database.
Список параметров
-
ms
-
The number of milliseconds for the cursor to wait for a response. Use -1 to wait forever. By default, the cursor will wait 30000 milliseconds (30 seconds).
Возвращаемые значения
This cursor.
Ошибки
Causes methods that fetch results to throw a MongoCursorTimeoutException if the data fetch takes longer than the specified number of milliseconds.
Примеры
Пример #1 MongoCommandCursor::timeout() example
In the following example, the driver will wait for 60 seconds for the first response from the aggregate command. It will also wait for 60 seconds each time the server needs to be polled for more information.
<?php
$m = new MongoClient;
$col = $m->database->collection;
$pipeline = [ … ];
$cursor = $col->aggregateCursor( $pipeline );
$cursor->timeout( 60000 ); // for 60 seconds
foreach ( $cursor as $result ) {
…
}
?>
Примечания
This does not cause the MongoDB server to cancel long-running operations; it only instructs the driver to stop waiting for a response and throw a MongoCursorTimeoutException after a set time. If you need to specify a server-side timeout for a command, considering passing the maxTimeMS option to MongoCollection::aggregateCursor().
Смотрите также
- MongoCollection::aggregateCursor() - Execute an aggregation pipeline command and retrieve results through a cursor
- MongoCursorInterface::timeout() - Sets a client-side timeout for this query
- The socketTimeoutMS option for MongoClient::__construct()
Вернуться к: MongoCommandCursor