Realmente necesito ayuda con esta secuencia de comandos de detención de AWS Fargate. Recibo un error llamado "Velocidad excedida" "ThrottilingException", ¿hay alguna forma de agregar que mi secuencia de comandos detecta el error y, si lo ve, se detendrá un poco continuar donde lo dejo?
var AWS = require("aws-sdk"); AWS.config.update({region: "eu-central-1"}); var s3 = new AWS.S3({apiVersion: '2006-03-01'}); var ecs = new AWS.ECS({apiVersion: '2014-11-13'}); async function getServiceArns(token) { var params = { cluster: 'my-cluster', launchType: "FARGATE", maxResults: 100, nextToken: '', schedulingStrategy: "REPLICA" }; return new Promise(function(resolve) { var services = [] if (token) { params.nextToken = token } ecs.listServices(params, async function(err, data) { if(data.nextToken) { services.push(...(await getServiceArns(data.nextToken))) } services.push(...data.serviceArns) resolve(services) }); }) } async function main(){ var arns = await getServiceArns() var services = await Promise.all(arns.map(function(arn) { return new Promise(function(resolve) { ecs.describeServices({cluster: 'my-cluster', services:[arn]}, function(err, data) { resolve({arn, count: data.services[0].desiredCount}) }); }) })) var filtered = services.filter(item => item.count > 0) var base64data = Buffer.from(JSON.stringify(filtered), 'binary'); await s3.putObject({ Bucket: 'my-bucket', Key: 'services.txt', Body: base64data, }).promise(); await Promise.all(filtered.map(function(service) { var params = { desiredCount: 0, cluster: "my-cluster", service: service.arn, }; console.log(service.arn) // return ecs.updateService(params).promise() })) console.log('successfully shutdown all services') } exports.handler = main