I am using Mechanical Turk with Boto3 SDK.
As per the general documentation https://docs.aws.amazon.com/general/latest/gr/api-retries.html , “each AWS SDK implements exponential backoff algorithm” – so why do we need to implement it again in our code?
(I am also referring to AWS' answer here: https://forums.aws.amazon.com/thread.jspa?threadID=307015)
Default client back-off might not be enough for every use case.
I'm not familiar with this particular service client, but you generally can detect retries by using logging level
logging.DEBUG
. It will log retry attempts, so you can check how often and how many there are.Some services have very specific rate limits in terms of N attempts in M time, so you can override default back-off by using
botocore.config.Config
property calledretries
and constructing service client while supplyingconfig
keyword.