Произошла ошибка (ThrottlingException) при вызове операции GetDeployment (достигнуто максимальное количество попыток: 4): превышена скорость - PullRequest
1 голос
/ 06 марта 2019

С увеличением числа групп развертывания в AWS CodeDeploy конвейеры BitBucket начинают чаще выходить из строя.

НЕИСПРАВНОСТЬ ТРУБОПРОВОДА ...

+ python ./_scripts/codedeploy_deploy.py
Failed to deploy application revision.
An error occurred (ThrottlingException) when calling the GetDeployment operation (reached max retries: 4): Rate exceeded

Есть ли способ увеличить значение до ограничения скорости или уменьшить вероятность возникновения?

ПОСТ AWS FORUM: https://forums.aws.amazon.com/thread.jspa?messageID=892511

1 Ответ

5 голосов
/ 06 марта 2019

К сожалению, невозможно увеличить ограничение скорости, поскольку оно динамически обеспечивается API AWS.

ПОДДЕРЖКА AWS:

Эта проблема не связана с каким-либо одновременным развертыванием или каким-либо другим ограничением, связанным с ресурсами. Это проблема регулирования, которая не может быть изменена.

Несколько вызовов API, инициированных одновременно, блокируются на наших конечных точках. Ограничение для каждой конечной точки варьируется и является динамическим, поэтому оно нигде не задокументировано.

В этом случае одновременно выполняется несколько вызовов для API GetDeployment, поэтому вызовы регулируются.

В таких сценариях мы рекомендуем реализовывать повторы ошибок и экспоненциальный откат между попытками, чтобы вызовы API не были одновременными.

Вы можете проверить ссылку ниже, которая объясняет, как реализовать это в нашем Кодексе. - https://docs.aws.amazon.com/general/latest/gr/api-retries.html

Мне удалось реализовать экспоненциальный откат, чтобы снизить скорость, с которой мы пытаемся получить состояние развертывания, а также увеличить количество повторных попыток до сбоя развертывания.

Убедитесь, что вы используете последнюю версию BOTO3 (boto3-1.9.108 botocore-1.12.108) , которая поддерживает эту новую систему конфигурации.

BOTO3 RETRY CONFIG: https://github.com/boto/botocore/issues/882#issuecomment-338846339

ВИЛКА: https://bitbucket.org/adanrehtla/aws-codedeploy-bitbucket-pipelines-python/src/master/
GIST: https://gist.github.com/djravine/5007e2a7f726cebe14ea51c7ee54bf5d

ТРУБОПРОВОД УСПЕШНЫЙ ...

+ python ./_scripts/codedeploy_deploy.py
Deployment Created (Exponential back off 30s)
Deployment InProgress (Exponential back off 60s)
Deployment Succeeded

ПРИМЕЧАНИЕ: Я буду обновлять этот пост с дополнительной информацией по мере пересмотра использования на основе наших развертываний.

...