Разработчик Twilio здесь.
Согласно вашему комментарию, вы сделали около 25 000 запросов API за 15 минут. Это примерно 27 запросов в секунду. Сам Twilio имеет ограничение в 100 одновременных подключений, но библиотека Java Twilio имеет пул из 20 объектов HTTP-соединений. Если вы бросаете все 25 000 запросов в библиотеку за один ход, то она начнет с первых 20 запросов, использующих пул, и выполнит их. Как только каждый запрос освобождает соединение, будет сделан следующий запрос. В конечном итоге это означает, что последний из 25 000 запросов должен будет ждать выполнения предыдущих 24 999, что приведет к 10-минутной задержке.
Если размер пула соединений недостаточно велик, вы можете предоставить свой собственный HTTPClient для библиотеки. Вы можете увидеть существующую реализацию NetworkHTTPClient
, которая, вероятно, является хорошей моделью, на которой будет основываться ваша собственная реализация. ограничения пула соединений здесь реализованы . Обратите внимание, что создание пула соединений больше 100 приведет к ошибкам API при превышении разрешенного одновременного использования. Если вам нужно учесть более высокие лимиты API, я рекомендую вам поговорить с отделом продаж Twilio о ваших потребностях.
В качестве альтернативы, вы можете подумать, желательно ли столько запросов в такой короткий промежуток времени. Если есть возможность группировать запросы по-разному и совершать вызовы в разное время, вы можете избежать этого уровня очереди запросов.
Дайте мне знать, поможет ли это вообще.