Skip to content
Snippets Groups Projects
Commit ecd850da authored by Clayton, Brandon Scott's avatar Clayton, Brandon Scott
Browse files

Merge branch 'zip-results' into 'master'

Remove zip results Lambda call

See merge request ghsc/nshmp/nshmp-haz-v2!484
parents 8134e2e8 dbc65b5d
No related branches found
No related tags found
1 merge request!484Remove zip results Lambda call
Pipeline #13664 passed
...@@ -15,10 +15,6 @@ import java.util.stream.Collectors; ...@@ -15,10 +15,6 @@ import java.util.stream.Collectors;
import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder;
import com.amazonaws.services.ec2.model.DescribeInstancesRequest;
import com.amazonaws.services.ec2.model.DescribeInstancesResult;
import com.amazonaws.services.ec2.model.Instance;
import com.amazonaws.services.ec2.model.Reservation;
import com.amazonaws.services.lambda.AWSLambda; import com.amazonaws.services.lambda.AWSLambda;
import com.amazonaws.services.lambda.AWSLambdaClientBuilder; import com.amazonaws.services.lambda.AWSLambdaClientBuilder;
import com.amazonaws.services.lambda.model.InvokeRequest; import com.amazonaws.services.lambda.model.InvokeRequest;
...@@ -51,7 +47,6 @@ public class HazardResultsSlicerLambda implements RequestStreamHandler { ...@@ -51,7 +47,6 @@ public class HazardResultsSlicerLambda implements RequestStreamHandler {
private static final AWSLambda LAMBDA_CLIENT = AWSLambdaClientBuilder.defaultClient(); private static final AWSLambda LAMBDA_CLIENT = AWSLambdaClientBuilder.defaultClient();
private static final String CURVE_SLICE_LAMBDA = System.getenv("CURVE_SLICE_LAMBDA_NAME"); private static final String CURVE_SLICE_LAMBDA = System.getenv("CURVE_SLICE_LAMBDA_NAME");
private static final String ZIP_RESULTS_LAMBDA = System.getenv("ZIP_RESULTS_LAMBDA_NAME");
private static final String INSTANCE_STATUS = "terminated"; private static final String INSTANCE_STATUS = "terminated";
private static final int MAX_INSTANCE_CHECK = 100; private static final int MAX_INSTANCE_CHECK = 100;
...@@ -101,7 +96,6 @@ public class HazardResultsSlicerLambda implements RequestStreamHandler { ...@@ -101,7 +96,6 @@ public class HazardResultsSlicerLambda implements RequestStreamHandler {
futures.forEach(CompletableFuture::join); futures.forEach(CompletableFuture::join);
lambdaHelper.logger.log("Zipping results"); lambdaHelper.logger.log("Zipping results");
zipResults(request);
return new Response(request); return new Response(request);
} }
...@@ -159,47 +153,6 @@ public class HazardResultsSlicerLambda implements RequestStreamHandler { ...@@ -159,47 +153,6 @@ public class HazardResultsSlicerLambda implements RequestStreamHandler {
} }
} }
private static void zipResults(RequestData request) throws InterruptedException {
InvokeRequest invokeRequest = new InvokeRequest()
.withFunctionName(ZIP_RESULTS_LAMBDA)
.withPayload(GSON.toJson(request));
InvokeResult result = LAMBDA_CLIENT.invoke(invokeRequest);
checkLambdaResponse(result);
ZipResultsResponse response = GSON.fromJson(
new String(result.getPayload().array()),
ZipResultsResponse.class);
waitForInstance(response);
}
private static void waitForInstance(ZipResultsResponse response) throws InterruptedException {
for (int ii = 0; ii < MAX_INSTANCE_CHECK; ii++) {
DescribeInstancesRequest request = new DescribeInstancesRequest()
.withInstanceIds(response.result.instanceId);
DescribeInstancesResult instances = EC2.describeInstances(request);
if (isTerminated(instances)) {
return;
}
Thread.sleep(INSTANCE_CHECK_TIMEOUT);
}
}
private static boolean isTerminated(DescribeInstancesResult instances) {
for (Reservation reservation : instances.getReservations()) {
for (Instance instance : reservation.getInstances()) {
if (INSTANCE_STATUS.equals(instance.getState().getName())) {
return true;
}
}
}
return false;
}
private static void checkLambdaResponse(InvokeResult result) { private static void checkLambdaResponse(InvokeResult result) {
try { try {
LambdaResponse response = GSON.fromJson( LambdaResponse response = GSON.fromJson(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment