dry-state-56742
08/12/2021, 10:29 AMDescribeJobDefinitions in addition to the throttling applied to DescribeJobs. Bearing our systems’s setup in mind, savin’s explanation for this is that
we check if the job definition exists or not for every task and a step could map to multiple tasks (in case of a for-each)and an alternative solution could be:
to ensure that we register the job definition only per stepOn top of that, I propose a third solution which would be (following the design pattern I’ve introduced in this PR (
@Throttle() and with manage_client_error() ) one could decorate the batch client itself with a throttler to guard against large numbers of edge-case AWS limits like this arising from other parts of the boto3 APIsquare-wire-39606
08/12/2021, 2:15 PMDescribeJobDefinitions gets called only once per step - like it happens for step functions should significantly reduce the number of DescribeJobDefinitions. Compared to throttling this call as well, reducing the absolute number of calls will provide better reliability guarantees. I can open a PR if this approach seems reasonable.dry-state-56742
08/12/2021, 2:35 PMsquare-wire-39606
08/12/2021, 2:36 PM