MongoCursor::maxTimeMS
(PECL mongo >=1.5.0)
MongoCursor::maxTimeMS — Устанавливает время ожидания на стороне сервера для этого запроса
Описание
Задает совокупный лимит времени в миллисекундах, который должен быть разрешен сервером для обработки операций над курсором.
Список параметров
-
ms
-
Задает совокупный лимит времени в миллисекундах, который должен быть разрешен сервером для обработки операций над курсором.
Возвращаемые значения
Возвращает курсор.
Ошибки
Выдает исключение MongoCursorException, если этот курсор начал итерацию.
Вызывает методы, которые выбирают результаты, чтобы вызвать исключение MongoExecutionTimeoutException, если запрос занимает больше времени, чем указанное количество миллисекунд во время обработки.
Примеры
Пример #1 Пример использования MongoCursor::maxTimeMS()
В следующем примере сервер прервет запрос, если для возврата курсору курсору потребуется более двух секунд.
<?php
$cursor = $collection->find();
$cursor->maxTimeMS(2000);
try {
$results = iterator_to_array($cursor);
} catch (MongoExecutionTimeoutException $e) {
echo "запрос занял слишком много времени!";
}
?>
Примечания
В отличие от MongoCursor::timeout(), который задает время ожидания на стороне клиента, MongoCursor::maxTimeMS() может использоваться для того, чтобы сервер MongoDB прерывал длительные запросы. Это время ожидания накапливается за время жизни курсора (то есть каждый пакет будет вносить свой вклад в этот срок). Во времи ожидания учитывается только время обработки; простой не считается.