mitaichik
@mitaichik

Как поставить таймаут на аггрегацию MongoDb в php?

Всем привет. Делаю аггрегацию из php:
$data = self::getCollection()->aggregate(
                [...],
                ['allowDiskUse' => true]
        );


Запрос очень долгий, нужно задать таймаут (дефолтный в 30 сек не подходит).
Вопрос: как его сделать? В мануалах везде написанно ставить таймоут для курсора. Но курсор здесь не юзается.

Решил сделать костыль:

\MongoCursor::$timeout = -1;    // Костыль для таймаута
$data = self::getCollection()->aggregate(...);
\MongoCursor::$timeout = 30000; // Возвращаем таймаут обратно


Работает, но в логах получаю ошибку:

MongoCollection::aggregate(): The 'MongoCursor::$timeout' static property is deprecated, please call MongoCursor->timeout() instead E_DEPRECATED


Что делать? Заранее спасибо.
  • Вопрос задан
  • 425 просмотров
Пригласить эксперта
Ответы на вопрос 1
difiso
@difiso
В параллельной вселенной я космонавт
Дак сделайте, что в логах предложено. В чем проблема-то? Вы боитесь перевести сообщение или узнать что значит E_DEPRECATED?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы