как запустить два модуля одновременно из основного файла 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())
# строчку нужно раскомментировать если нужно отдельно запустить данный модуль. Например для проверки связи с сервером.
Осталось найти, как вывести в разные окна два потока данных...