@LakeForest

Как можно вернуть результат из 1 контейнера в сокет на 2 контейнере?

Хочу в демо версии приложения устанавливать соединение в виде чата. пользователь отправляет текст, сокет получает и передает в другой контейнер, где запрос может долго обрабатываться. При этом в чате пользователя - висит иконка загрузки. Если пользователь дождался ответ, соединение по сокету еще работает, то как 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}")
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы