Я разрабатываю соединитель, который для получения данных должен сделать два отдельных вызова API. Я заметил, что время от времени я получаю следующую ошибку:
{ [Exception: Address unavailable: https://myapi.call] name: 'Exception' }
Этот ответ не имеет ничего общего с вызываемым API, потому что я получаю действительный ответ 200
для этого вызова, поэтому ошибка должна происходят из UrlFetchApp
, который я использую для получения данных. Также это происходит только с более сложными отчетами, которые требуют много одновременных вызовов API. Поэтому я подумал, что, возможно, набрал некоторую квоту и решил использовать Utilities.sleep()
. Однако кажется, что он работает только в одном контексте выполнения. Так, например, если у меня есть один отчет, будет только одно выполнение getData()
, поэтому мой Utilities.sleep()
будет работать нормально:
Как вы видите, что я указал 1 se c пробел. Однако для того же кода, когда у меня есть несколько отчетов на информационной панели Data Studio, результат будет следующим:
Как вы видите, кажется, что существует 12 контекстов выполнения стрельба одновременно. Так что функция Utilities.sleep()
не может этому помешать. Это очень проблематично c, потому что, во-первых, я собираюсь превысить пределы API, которые я вызываю рано или поздно, во-вторых, кажется, что я уже превысил пределы UrlFetchApp
. Кто-нибудь придумал решение этой проблемы? Заранее спасибо.