У меня есть довольно простая программа, которая собирает данные из aws, используя aws -cli и nodejs, а затем вводит их в MySQL. Чтобы быть честным, это работает, единственное, что я хотел бы, чтобы эта программа была запланирована для запуска время от времени, но я не могу, поскольку она не выходит: когда все данные были введены, я не прекращаю соединение. Я попытался выяснить, как это сделать (закрыть / завершить соединение с MySQL) с обещаниями и асинхронно / безуспешно. Конечно, что-то я не делаю правильно (до сих пор трудно понять концепцию обещаний и асинхронного программирования), но все же пытался целыми днями.
[...]
function insertInstanceDetails(date, zone, instance_id, name){
let insert_details = "INSERT INTO instances (date, zone, instance_type, name) VALUES(" + db.escape(date) + "," + db.escape(zone) + "," + db.escape(instance_id) + "," + db.escape(name) + ")";
db.query(insert_details, function(err, result){
if(err) throw err;
});
return;
}
for(instance-id of instance-ids){
aws.command('ec2 describe-instaces .....').then(function (data) {
var result = JSON.parse(data.raw);
for (var key in result.xyz) {
insertInstanceDetails(.......);
}
});
}
Спасибо за помощь. ; -)