В многопроцессорной среде spawn процесс для Python3 загружает внутреннюю функцию в модуль для выполнения

Пожалуйста, обратите внимание, что все нижеприведенное описание относится к методу многопроцессорной обработки "spawn" (для совместимости с Windows).

Когда для многопроцессорной обработки задан метод "порождение", из основного файла загружается новый процесс. Это одна из первых сведений для поиска в Интернете.

Я пытаюсь копнуть глубже и ускорить загрузку нового процесса (когда бы он ни создавался).
Вот некоторая идея о том, как структурирован мой проект:

<root>
<root>/main.py

<root>/modules/__init__.py
<root>/modules/app/__init__.py
<root>/modules/app/app.py

<root>/modules/app/middleware/__init__.py
<root>/modules/app/middleware/middleware.py

Теперь, когда я пытаюсь создать процесс внутри middleware.pyон пытается загрузить все из main.py (и загружается множество ненужных модулей, что замедляет процесс загрузки процесса в middleware.py).

В моем коде много дополнительных библиотек также импортированы в main.py и app.py, что замедляет первую загрузку процесса, созданного в middleware.py. Но эти дополнительные модули не требуются для запуска процесса, созданного в middleware.py

1) Как я могу сделать загрузку middleware.py максимально быстрой (во время первого запуска Process). И возможно ли напрямую загрузить модуль промежуточного программного обеспечения в этом новом процессе, вместо того, чтобы загружать все из main.py?

2) Я экспериментировал, не загружая app.py внутри main.py (и, следовательно, middleware.py), когда main.py запускается как __mp_main__, Я ожидал, что это приведет к тому, что middleware.py никогда не будет загружен в дочерний процесс. Но я все еще замечаю, что middleware.py загружается. Как это возможно?

0 ответов

Другие вопросы по тегам