Ну там же суспенд в кторе. Почти автоматом
Не совсем так
1. suspend то он suspend, но код для обычного request-response и для long-polling отличается по своей сути
2. дефолтовые таймауты могут обрывать запрос раньше, чем будет получен ответ -- нужно настраивать под специфику, и учитывать что у вас перед сервером стоит (тот же LB должен понимать что для некоторых роутов увеличенные таймауты)
Так работает кстати telegram api, бот посылает запрос и висит ожидая ответа
websocketы всю жизнь мне доставляли боль, как только речь не про запустить локально поиграться. Nginx долгое время не умел в вебсокеты и https вместе, отладчик WS в Firefox только появился.
Из альтернатив есть Server Sent Events, но я с ним не работал в реальных задачах и не могу сказать лучше или хуже он чем WS, но есть ощущение что лучше