【发布时间】:2016-05-16 16:54:30
【问题描述】:
我正在使用异步 Play WS Scala API 来查询 RESTful 服务。我想知道如何处理包含要通过 WSClient 调用的请求 URL 的 List,但每秒不超过一个请求(该服务允许每个客户端每秒“仅”1 个请求)。从逻辑的角度来看,这个想法是从列表中获取一个元素(URL),发出请求,然后等待一段时间,然后再继续处理列表中的下一个元素。
- 在像 Play 这样的非阻塞和异步框架中使用旧的
Thread.sleep肯定是个坏主意。 - 对于
ScheduledThreadPoolExecutor或其他需要生成新线程的方法可能也是如此。
如何在不对 Play 的异步和“尽可能少线程”的性质产生负面影响的情况下限制请求速率?
【问题讨论】:
-
什么版本的 Play?
-
播放版本 2.5.3
标签: scala web-services playframework playframework-2.0