[英]Concurrent requests to TwilioRestClient create API gives http 409
我正在尝试使用TwilioRestClient API创建绑定。 我必须从文件中读取输入,然后为每个输入创建绑定。 因为有成千上万的记录,所以我尝试了并行处理。 但这有时会给我http 409。 如果不使用并行处理,我将获得100%的成功。 但是随着线程数的增加,成功率会降低。
Callable task = () -> {
// Call to TwilioRestClient create bindings goes here.
}
ForkJoinPool pool = new ForkJoinPool(8); //Utilising 8 cores
List<Bindings> bindings = (List<Bindings>) pool.submit(task).get();
我希望为从文件中读取并传递给API的所有记录创建绑定。 当尝试使用8个内核进行并行处理时,在1000条记录中,大约有800条成功。 随着我减少核心数,成功率增加。 我究竟做错了什么?
Twilio开发人员布道者在这里。
Twilio API的并发限制为100个并发连接 。 我的猜测是,尽管我对Java的并发和线程没有太多的经验,但是随着线程数量的增加,您会遇到并发限制,这就是请求失败的原因。
我建议回拨直到您建立的并发连接少于100个,这将导致您发出100%成功的请求。 抱歉,我无法建议您如何在代码库中实现此目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.