diff --git a/local-docker-compose.yml b/local-docker-compose.yaml similarity index 100% rename from local-docker-compose.yml rename to local-docker-compose.yaml diff --git a/src/index.js b/src/index.js index 4e90997..8687bcc 100644 --- a/src/index.js +++ b/src/index.js @@ -78,12 +78,15 @@ function saveVehicles() { return writeHelper.writeToS3(s3Bucket, agencyInfo.id, currentDateTime, vehicles); }) - .catch((err) => { - console.log(err); - }); }); - Promise.all(promises); + // Do not reject all promises when one of them is rejected, but do output why one (or more) was rejected. + Promise.allSettled(promises) + .then((results) => results.forEach((result) => { + if(result.status == "rejected") { + console.log("received a rejected promise with reason:", result.reason) + } + })); } function storeLocal() { diff --git a/src/writeHelper.js b/src/writeHelper.js index a6ae846..a2dfc96 100644 --- a/src/writeHelper.js +++ b/src/writeHelper.js @@ -1,8 +1,10 @@ const AWS = require('aws-sdk'); -const fs = require('fs'); +const s3 = new AWS.S3(); +const { writeFile } = require('fs/promises'); + var zlib = require('zlib'); -const s3 = new AWS.S3(); + function compressData(data) { return new Promise((resolve, _) => { @@ -17,12 +19,11 @@ function writeLocal(agency, currentDateTime, data) { const version = "v1"; const fileName = `/tmp/${agency}_${version}_${currentTimestamp}.json` - fs.writeFile(fileName, JSON.stringify(data), err => { - if (err) { - console.error(err); - } - console.log("wrote", fileName) - }); + return writeFile(fileName, JSON.stringify(data)) + .then((data) => { + console.log("wrote", fileName); + return data; + }); } function writeToS3(s3Bucket, agency, currentDateTime, data) {