как запустить два модуля одновременно из основного файла main.py?

Подскажите пожалуйста как правильно запустить два модуля одновременно?

Импортирую в main.py из папки setting_websocket два web-сокета. По отдельности, при запуске вручную оба запускаются и работают нормально, в отдельных окнах, но вместе не запускаются.

Пробовал разные конструкции не помогло. Импорт запускает только первый модуль данных. Второй не запускается - или запускается только в ручном режиме.

Не хочется писать "костыль" в виде cmd-файла.

По поводу многопоточности прошу не заморачиваться. Я не пытаюсь распараллелить проект на ядра процессоров или потоки - там нет такой нагрузки. Просто два потока данных с разных серверов летят, поэтому каждый сокет реализован в отдельном файле.

Спасибо.

import importlib
from setting_websocket import WebSocket1, WebSocket2

run(WebSocket1, WebSocket2) # не работает
reload.importlib(WebSocket1, WebSocket2) # не работает

if __name__ ==  '__main__':
    asyncio.run(main())

Ответы (1 шт):

Автор решения: Игорыныч Змей Морской

А ларчик открывался просто...


# запуск websocket-потока module1
# запуск websocket-потока module2

import asyncio  
from setting_websocket.WebSocketModule1 import module1  
from setting_websocket.WebSocketModule2 import module2 
  
async def main():  

# Запускаем обе функции параллельно  
    await asyncio.gather(  
        module1(),  
        module2()  
    )  
  
if __name__ == "__main__":  
    asyncio.run(main())

Естественно, в модулях необходимо закомментировать строчку:

# asyncio.run(module1())
# строчку нужно раскомментировать если нужно отдельно запустить данный модуль. Например для проверки связи с сервером.

Осталось найти, как вывести в разные окна два потока данных...

→ Ссылка