YardalGedal
@YardalGedal
yeah boy

Как использовать mongoengine.connect при мультипроцессинге?

У меня в проекте присутствует модуль, содержащий модели документов. В конце файла есть строка из официальной документации mongoengine
connect(DB_HOST)
Далее все вызовы этого модуля происходят внутри торнадо-процессов, например
from core import models
...
owners = models.Owner.objects()
...

Однако в процессе выполнения программы mongoengine выводит предупреждения, что так делать не стоит, ибо models открыт до запуска потоков (на сколько я понимаю, соединение установлено до запуска потоков?)
UserWarning: MongoClient opened before fork. Create MongoClient only after forking. See PyMongo's documentation for details: api.mongodb.org/python/current/faq.html#is-pymongo...
"MongoClient opened before fork. Create MongoClient only "

Как мне корректно использовать connect?

UPD. Я пробовал в каждом файле, где я использую models устанавливать отдельное соединение (вызывать connect()), но это проблему не решило.
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
ZinBu
@ZinBu
Продам гараж (в лс)
На сколько мне известно mongoengine плох для работы с асинхронными фреймворками, так как обращения через него являются блокирующими. Лучше воспользоваться мотором
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 11:14
65000 руб./за проект
19 апр. 2024, в 11:08
5000 руб./за проект
19 апр. 2024, в 10:59
150000 руб./за проект