Хочу в демо версии приложения устанавливать соединение в виде чата. пользователь отправляет текст, сокет получает и передает в другой контейнер, где запрос может долго обрабатываться. При этом в чате пользователя - висит иконка загрузки. Если пользователь дождался ответ, соединение по сокету еще работает, то как n-контейнер закончил работу по обработке сообщения - хочется отправить ответ в чат пользователя.
Но не понимаю, как мне вернуть ответ именно в этот чат (сокет соединение). Условный код:
# в container1
@app.post('/syth')
def syth(text):
mel = [1,2,3]
bytes_audio=[0,1,0,0,0]
# отправить результат в container1
send("wss://container1:8081/ws", bytes_audio) #### Или как???
# в container2
def gateway(data):
check_data()
post("http://container2:8080/syth", data)
# в container1
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
while True:
data = await websocket.receive_text()
await gateway(data) #отправил запрос
await websocket.send_text(f"wait audio: {data}")