0
我有一个文件包含1000 ++ tweets,对于每个条目我想从Foursquare API获取用户信息。 问题是,我不断收到错误率超出限制,是否有避免Foursquare API超出限制的最佳做法?速率限制超过Foursquare API
我有一个文件包含1000 ++ tweets,对于每个条目我想从Foursquare API获取用户信息。 问题是,我不断收到错误率超出限制,是否有避免Foursquare API超出限制的最佳做法?速率限制超过Foursquare API
是的,你应该限制你的请求率。您可以创建一个线程,然后暂停指定时间间隔内的api调用。或者你可以使用RxJava。下面提到一个例子。
public static invokeRateLimitedFetch(List<RequestInfo> requests){
//2 second pause
Observable.zip(Observable.from(requests),
Observable.interval(2, TimeUnit.SECONDS), (obs,timer)->obs)
.doOnNext(item -> {
//Invoke here use item
}
).toList().toBlocking().first();
}
}