Я хочу использовать один сокет для подключения к MongoDB в многопоточном режиме.Как использовать только один сокет для подключения к MongoDB с pymongo 3?
#-*- encoding:UTF-8 -*-
import datetime
import threading
import time
import pymongo
conn = pymongo.Connection('mongodb://127.0.0.1', auto_start_request=False)
class MyThread(threading.Thread):
def run(self):
print conn['fvck'].damnit.count(), datetime.datetime.now(), self.getName()
time.sleep(10)
with conn.start_request():
for i in range(100):
MyThread().start()
Код имеет только один разъем, а версия PyMongo - 2.2rc.
Citing the documentation for PyMongo 3:
добавлена опция
connect
.В
start_request
,in_request
иend_request
методы будут удалены, а также вариантauto_start_request
.Метод
copy_database
удален, см. copy_database examples для альтернатив.Метод
MongoClient.disconnect()
удален; это был синоним дляclose()
.
client = pymongo.MongoClient("127.0.0.1", 27017, connect=False)
булевой connect
не работает.