È un bug nella versione 3.0.x di pymongo. URL segnalazione bug https://jira.mongodb.org/browse/PYTHON-961
Soluzione per questo problema. (Testato in pymongo 3.0.3) Supera "connect=False" nell'inizializzazione dell'oggetto MongoClient
MongoClient(uri, connect=False)
O semplicemente attendi qualche secondo prima di creare un'istanza di MongoClient nel processo figlio (come 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()