Как Python обрабатывает импорт одного и того же модуля в нескольких экземплярах Python? - PullRequest
0 голосов
/ 09 сентября 2018

Я создал приложение, в котором есть несколько пользовательских модулей, которые я использую для нескольких приложений (скриптов). Каждое приложение работает независимо от своего собственного планировщика и импортирует те же два модуля, которые я создал. Один из них - это скорее служебный модуль, а другой - модуль базы данных для обработки соединений с базой данных.

Целью здесь является одновременное выполнение нескольких сценариев Python одновременно с использованием одних и тех же модулей для экономии при перекодировании одних и тех же вещей в приложении.

Макет приложения похож на:

-AppName
--src
---app
----App1.py
----App2.py
---module
----utility.py
----db.py
----log.py

В моем случае есть около 10 приложений, которые работают одновременно и импортируют те же два модуля. Он работал нормально, но в последнее время приложения замедляются, и я хотел начать исследовать общие модули.

Версия

Python 2.7 в Windows

Исполнение

Каждое приложение выполняется в своем собственном экземпляре Python на одном и том же сервере. Python живет на одном виртуальном диске, а скрипты на другом. Каждое приложение загружает, перекодирует и загружает данные в ГБ.

Время импорта модуля

Каждый модуль занимает около 3 секунд для импорта. Запуск одного общего приложения начинается в течение этого периода времени.

Вопрос

Как Python обрабатывает импорт одного и того же модуля в несколько экземпляров Python? Многие вопросы связаны с импортом одного и того же модуля в одном скрипте. Не так много одновременно импортируемых одного и того же модуля в разные сценарии и разные экземпляры Python на одном компьютере.

Полагаю, Python справится с этим, пока у него есть доступные ресурсы. Но я вижу, что приложения, которые обычно загружаются за 10 секунд, теперь загружаются за 1 час. Я предполагаю, что это происходит из-за того, что общие модули отключаются для каждого экземпляра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...