My understanding was boto handled this with exponential backoff and retry. However exceptions don’t seem to be handled. We a lot of jobs running playbooks in parallel and when multiple jobs kick off, most of the fail due to this error.
**08:56:53** self.elb.configure_health_check(self.elb.health_check)
**08:56:53** File "/usr/local/lib/python2.7/dist-packages/boto/ec2/elb/loadbalancer.py", line 310, in configure_health_check
**08:56:53** return self.connection.configure_health_check(self.name, health_check)
**08:56:53** File "/usr/local/lib/python2.7/dist-packages/boto/ec2/elb/__init__.py", line 576, in configure_health_check
**08:56:53** return self.get_object('ConfigureHealthCheck', params, HealthCheck)
**08:56:53** File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 1208, in get_object
**08:56:53** raise self.ResponseError(response.status, response.reason, body)
**08:56:53** boto.exception.BotoServerError: BotoServerError: 400 Bad Request
**08:56:53** <ErrorResponse xmlns="[http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/](http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/)">
**08:56:53** <Error>
**08:56:53** <Type>Sender</Type>
**08:56:53** <Code>Throttling</Code>
**08:56:53** <Message>Rate exceeded</Message>
**08:56:53** </Error>
**08:56:53** <RequestId>7e8d6104-3920-11e6-9950-679774408258</RequestId>
**08:56:53** </ErrorResponse>
Does the rescue block handle these and can you use a retries on a block?