Я создал приложение, в котором есть несколько пользовательских модулей, которые я использую для нескольких приложений (скриптов). Каждое приложение работает независимо от своего собственного планировщика и импортирует те же два модуля, которые я создал. Один из них - это скорее служебный модуль, а другой - модуль базы данных для обработки соединений с базой данных.
Целью здесь является одновременное выполнение нескольких сценариев 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 час. Я предполагаю, что это происходит из-за того, что общие модули отключаются для каждого экземпляра.