MongoEngine y lidiando con “UserWarning: MongoClient abrió antes de la bifurcación. Cree MongoClient con connect = False, o cree un cliente después de bifurcar ”

Estoy usando Celery y MongoEngine como parte de mi aplicación Django con.

Recibo esta advertencia, cuando un apio @shared_task accede a la base de datos mongodb a través de las clases del modelo mongoengine:

UserWarning: MongoClient opened before fork. Create MongoClient with connect=False,or create client after forking. See PyMongo's documentation for details: http://api.mongodb.org/python/current/faq.html#using-pymongo-with-multiprocessing 

Claramente, tiene algo que ver con el multiprocesamiento y el uso de PyMongo en el que se basa el mongoengine.

Mi pregunta es:

¿Cuál es la mejor estrategia para evitar este problema con mongoengine?

Tenga en cuenta que me estoy conectando al mongodb con mongoengine en settings.py :

 mongoengine.connect('my_mongo_database_name', alias='default') 

Después de buscar un poco en línea, descubrí que es posible pasar argumentos adicionales a la función mongoengine.connect , los argumentos adicionales se pasarán a las clases y funciones de PyMongo subyacentes.

Así que simplemente mongoengine.connect() llamada mongoengine.connect() a lo siguiente:

 mongoengine.connect('my_mongo_database_name', alias='default', connect=False) 

Y la advertencia dejó de aparecer. Sin embargo, no estoy seguro de que esta sea la mejor manera de lidiar con la advertencia. Si tiene una respuesta mejor, por favor publíquela y con gusto la probaré y eventualmente la aceptaré.