Php/docs/mongocursor.maxtimems
MongoCursor::maxTimeMS
(PECL mongo >=1.5.0)
MongoCursor::maxTimeMS — Sets a server-side timeout for this query
说明
public MongoCursor::maxTimeMS
( int $ms
) : MongoCursor
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.
范例
Example #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!";}?>
注释
Warning 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.