diff --git a/cdk/lib/ecs-stack.ts b/cdk/lib/ecs-stack.ts index b7aa8de..c91753b 100644 --- a/cdk/lib/ecs-stack.ts +++ b/cdk/lib/ecs-stack.ts @@ -407,8 +407,8 @@ export class EcsStack extends cdk.Stack { scheduledFargateTaskImageOptions: { image: lampiSiirtajaImage, logDriver: lampiSiirtajaLogDriver, - cpu: 1024, - memoryLimitMiB: 2048, + cpu: 2048, + memoryLimitMiB: 6144, environment: { POSTGRES_HOST: `raportointi.db.${config.publicHostedZone}`, DB_USERNAME: 'app', diff --git a/lampi-siirtaja-container/lampi-siirtaja/package.json b/lampi-siirtaja-container/lampi-siirtaja/package.json index cfe0d12..2b18cd9 100644 --- a/lampi-siirtaja-container/lampi-siirtaja/package.json +++ b/lampi-siirtaja-container/lampi-siirtaja/package.json @@ -21,7 +21,7 @@ "xtend": "^4.0.2" }, "scripts": { - "start": "tsc && node dist/run.js", + "start": "tsc && node --max-old-space-size=4096 dist/run.js", "lint": "eslint . --ext .ts", "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/lampi-siirtaja-container/lampi-siirtaja/src/run.ts b/lampi-siirtaja-container/lampi-siirtaja/src/run.ts index 0ca5453..cf67ce7 100644 --- a/lampi-siirtaja-container/lampi-siirtaja/src/run.ts +++ b/lampi-siirtaja-container/lampi-siirtaja/src/run.ts @@ -61,8 +61,9 @@ const copyTableToS3 = (schemaName: string, tableName: string) => { pgClient.connectSync(dbUri); const queryResult = pgClient.querySync(sql); console.log(`QueryResult: ${JSON.stringify(queryResult, null, 4)}`); - console.log(`Taulun ${tableName} kopioinnin tulos | Rivien määrä: ${queryResult.rows_uploaded} | Tiedostojen määrä: ${queryResult.files_uploaded} | Tiedostojen koko: ${queryResult.bytes_uploaded}`); - if(queryResult.files_uploaded !== '1') console.error(`Scheman ${schemaName} taulusta ${tableName} muodostui S3-ämpäriin useampi kuin yksi tiedosto (${queryResult.files_uploaded})`); + const result = queryResult[0] || {}; + console.log(`Taulun ${tableName} kopioinnin tulos | Rivien määrä: ${result.rows_uploaded} | Tiedostojen määrä: ${result.files_uploaded} | Tiedostojen koko: ${result.bytes_uploaded}`); + if(result.files_uploaded !== '1') console.error(`Scheman ${schemaName} taulusta ${tableName} muodostui S3-ämpäriin useampi kuin yksi tiedosto (${result.files_uploaded})`); } const copyFileToLampi = async (sourceKey: string): Promise => { @@ -96,7 +97,7 @@ const copyFileToLampi = async (sourceKey: string): Promise => { ContentType: 'text/csv' } - const parallelUploads3 = new Upload({ + const parallelS3Upload = new Upload({ client: lampiS3Client, queueSize: 4, // rinnakkaisuus partSize: 524288000, // 500MB @@ -104,7 +105,7 @@ const copyFileToLampi = async (sourceKey: string): Promise => { params: target, }); - const completeMultipartUploadCommandOutput: CompleteMultipartUploadCommandOutput = await parallelUploads3.done(); + const completeMultipartUploadCommandOutput: CompleteMultipartUploadCommandOutput = await parallelS3Upload.done(); console.log(`Siirretty ${ovaraLampiSiirtajaBucket}/${sourceKey} => ${lampiS3Bucket}/${destinationKey}`);