MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

PyMongo und Multiprocessing:ServerSelectionTimeoutError

Es ist ein Fehler in Pymongo Version 3.0.x. Fehlerbericht-URL https://jira.mongodb.org/browse/PYTHON-961

Problemumgehung für dieses Problem. (Getestet in Pymongo 3.0.3) Übergeben Sie „connect=False“ bei der MongoClient-Objektinitialisierung

MongoClient(uri, connect=False)

Oder warten Sie einfach einige Sekunden, bevor Sie eine Instanz von MongoClient im untergeordneten Prozess erstellen (wie time.sleep(2)).

def start(uri):
  time.sleep(2)
  mclient = MongoClient(uri)
  mclient.db.collection.find_one()

if __name__ == '__main__':
  p = multiprocessing.Process(target=start, args=('mongodb://localhost:27017/',))
  p.start()