У меня есть конечная точка HTTP API, в которой мне нужно постоянно проверять новые значения. К счастью, он поддерживает длительный опрос. Поэтому идея состоит в том, что мне нужно реализовать «бесконечный цикл», где я делаю запрос, дождаться ответа (не более 10 минут), получить некоторое значение от ответа и создать побочный эффект, сохранив их где-нибудь, сделать другой запрос.Бесконечная последовательность запросов в Finagle with Future
Учитывая, что у меня есть функция, для которой будет запущен этот «бесконечный цикл», мне также нужно вернуть Closable
, чтобы удовлетворить API Finagle. Я интегрирую, поэтому процесс можно прервать. Если запрос HTTP не удается, я должен повторить попытку немедленно.
Теперь мне нужно выяснить, как реализовать это с помощью Future
s в Финале. Интересно, могу ли я использовать рекурсию, применяя преобразование к ответу «Будущее»? .. Или я что-то упускаю, и есть более простой способ сделать это в Финагле?
Спасибо!
У меня была аналогичная проблема, но я решил ее с помощью http4s/scalaz-stream 'time.awakeEvery.map ()'. –
Reactormonk