Всех приветствую. Есть асинхронная функция которая вызывается при обращении на вебсокет.
Она запускает файл с указанными параметрами и ждем завершения выполнения этого файла.
Есть такая проблема, если два пользователя отправят запрос на вебсокет, то второму юзеру ответа не будет, и в целом обработка не начнется, ибо Popen и ожидание завершения тормозит весь код.
Из чего следует вопрос, как это реализовать, чтобы оба юзера могли сделать запрос и обработка началась "одновременно"?
async def checkAddressParams(websocket, params):
params = json.loads(params)
filename = params['filename']
address = params['address']
with Popen([sys.executable, '-u', 'executer/__main__.py', f'{address} {filename}'],
stdout=PIPE, universal_newlines=True) as process:
for line in process.stdout:
if line.strip() == 'stock':
await websocket.send('is_stock')
return
await websocket.send('done')
await websocket.close()