Не работает pymongo timeout

Пробовал все варианты отсюда https://pymongo.readthedocs.io/en/stable/examples/timeouts.html. Должно быть 100мс, получаем 500мс.

"""Test mongo timeout."""
from datetime import datetime
from pymongo import MongoClient, timeout
from pymongo.errors import PyMongoError


TIMEOUT = 100


def test_timeout():
    """Testing."""
    client = MongoClient(
        f'mongodb://localhost:2017/?timeoutMS={TIMEOUT}',
        timeoutMS=TIMEOUT,
        socketTimeoutMS=TIMEOUT,
        connectTimeoutMS=TIMEOUT,
        serverSelectionTimeoutMS=TIMEOUT,
        waitQueueTimeoutMS=TIMEOUT,
        wTimeoutMS=TIMEOUT
    )
    db = client['test_db']
    collection = db['test_collection']
    start = datetime.now()
    try:
        with timeout(TIMEOUT / 1000.0):
            rows = list(collection.find({}))
    except PyMongoError:
        print(datetime.now() - start)


if __name__ == '__main__':
    test_timeout()

Результат 0:00:00.500828

Сервер localhost:2017 не запущен.

Версия pymongo 4.2.0, пробовал 4.3.3, результат тот же.

Как пофиксить?


Ответы (0 шт):