Не работает 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, результат тот же.
Как пофиксить?