我有一个 HTTP API 端点,我需要不断检查新值。幸运的是,它支持长轮询。所以我的想法是我需要实现一个“无限循环”,在那里我发出一个请求,等待一个响应(最多 10 分钟),从响应中获取一些值并通过将它们存储在某个地方产生副作用,发出另一个请求。
鉴于我有一些函数调用将启动这个“无限循环”,我还需要返回一个Closable
来满足我正在集成的 Finagle API,以便可以中断该过程。如果 HTTP 请求失败,我需要立即重试。
现在我需要弄清楚如何Future
在 Finagle 中使用 s 来实现这一点。我想知道我是否可以通过对响应 Future 应用转换来使用递归?.. 还是我错过了一些东西并且在 Finagle 中有更直接的方法来做到这一点?
谢谢!