Как повторно использовать соединение Mongoengine в Python RQ? - PullRequest
1 голос
/ 20 сентября 2019

Мне нужно синхронизировать много данных на заднем плане, используя mongoengine через python rq, и я хотел бы повторно использовать соединение.Синхронизация будет выполняться постоянно, и я не хочу открывать соединение с Монго каждый раз, когда начинается процесс синхронизации

1 Ответ

0 голосов
/ 20 сентября 2019

MongoEngine внутренне поддерживает Pymongo.MongoClient в глобальном требовании в mongoengine.connection.Вы не должны взаимодействовать с ним, но если вам нужно, он доступен с:

from mongoengine import connect
from mongoengine.connection import _connections

connect()

print(_connections) # {'default': MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary())}

Если вы просто хотите использовать MongoClient и выпускать запросы pymongo, это прекрасно, но если вы намереваетесьиспользуйте многопроцессорность, убедитесь, что вы прочитали это , так как MongoClient не является безопасным для вилки

...