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