限速异常
api 接口实时调用接口,限速和文档不符。
com.google.common.util.concurrent.RateLimiter limiter = com.google.common.util.concurrent.RateLimiter.create(3.0);
long time = System.currentTimeMillis();
int i = 1;
while (true){
limiter.acquire();
SecurityCalcIndex[] results = ctxPull.getCalcIndexes(new String[] {"NVDA251024C185000.US",
"AAPL251024C260000.US",
"QQQ251024P612000.US",
"TSLA251024C450000.US",
"GOOGL251024C260000.US",
"AAPL251024P260000.US",
"TSLA251024P450000.US",
"AMD251024C240000.US",
"GOOGL251024P260000.US",
"AMD251024P240000.US",
"GOOGL251024C257500.US",
"QQQ251024C612000.US",
"PLTR251031P185000.US",
"SOFI251024C29000.US",
"TSLA251024C450000.US",
},CalcIndex.values()).get();
System.out.println( (System.currentTimeMillis() - time) + " ms for CalcIndex batch request" + results.length +" times:" + (i++));
time = System.currentTimeMillis();
for(SecurityCalcIndex result : results){
SecurityCalcIndex mapData = resultMap.get(result.getSymbol());
if(mapData == null){
resultMap.put(result.getSymbol(), result);
}else if(result.toString().equals(mapData.toString())){
//相等不处理
continue;
}else {
resultMap.put(result.getSymbol(), result);
}
// System.out.println(System.currentTimeMillis() + "CalcIndex for " + result);
}
}
111 ms for CalcIndex batch request15 times:1
338 ms for CalcIndex batch request15 times:2
292 ms for CalcIndex batch request15 times:3
343 ms for CalcIndex batch request15 times:4
326 ms for CalcIndex batch request15 times:5
334 ms for CalcIndex batch request15 times:6
333 ms for CalcIndex batch request15 times:7
333 ms for CalcIndex batch request15 times:8
337 ms for CalcIndex batch request15 times:9
333 ms for CalcIndex batch request15 times:10
331 ms for CalcIndex batch request15 times:11
337 ms for CalcIndex batch request15 times:12
323 ms for CalcIndex batch request15 times:13
337 ms for CalcIndex batch request15 times:14
334 ms for CalcIndex batch request15 times:15
332 ms for CalcIndex batch request15 times:16
335 ms for CalcIndex batch request15 times:17
331 ms for CalcIndex batch request15 times:18
337 ms for CalcIndex batch request15 times:19
338 ms for CalcIndex batch request15 times:20
325 ms for CalcIndex batch request15 times:21
339 ms for CalcIndex batch request15 times:22
323 ms for CalcIndex batch request15 times:23
338 ms for CalcIndex batch request15 times:24
332 ms for CalcIndex batch request15 times:25
332 ms for CalcIndex batch request15 times:26
337 ms for CalcIndex batch request15 times:27
370 ms for CalcIndex batch request15 times:28
289 ms for CalcIndex batch request15 times:29
332 ms for CalcIndex batch request15 times:30
340 ms for CalcIndex batch request15 times:31
335 ms for CalcIndex batch request15 times:32
328 ms for CalcIndex batch request15 times:33
Exception in thread "main" java.util.concurrent.ExecutionException: OpenApiException [kind=OpenApi, code=301607, message=Too many option securities request within one minute]
这错误日期是按分钟进行限速的吗, 行情相关 API | 一个账号同时只能建立一个长连接,最多同时订阅 500 个标的1 秒内不超过 10 次调用,并发请求数不超过 5 我这个三百多ms调用一次,怎么会触发限速呢,建议这个数据能放到订阅的数据中,或者单独提供一个订阅来处理计算指标
感觉跟最多同时订阅 500 个标的 这个500有点关系,但是我这个是主动拉取,不是订阅,不应该受到这个限制吧,
经过多次验证,怎么发现是一分钟之内的不能超过500个订阅的标的,拉取不是订阅吧,其次,就算是单个symbol,一分钟超过500次也是不行,所以这个限制具体是什么规则,是不是有bug
目前期权有限制 一分钟最多查 500 个期权标的,包含重复的标的。这个我们会后续考虑放开
目前期权有限制 一分钟最多查 500 个期权标的,包含重复的标的。这个我们会后续考虑放开
后续有具体的开放计划吗
重复的标的还限制感觉不合理,每个标的每分钟显示xxx多少次比较好,然后整体是多少个标的
目前针对期权有这个规则,这个我们内部测试后考虑逐步放开,股票那些是按照文档进行限流的。
目前针对期权有这个规则,这个我们内部测试后考虑逐步放开,股票那些是按照文档进行限流的。
grazie mille
希望可以尽快修改这个规则,同时希望修改的时候可以通知下或者增加发布日志之类的,或者回复我这个帖子,冒味问一句,招人吗,十年java+react