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

remove zip results

parent 8134e2e8
No related branches found
No related tags found
1 merge request!484Remove zip results Lambda call
......@@ -15,10 +15,6 @@ import java.util.stream.Collectors;
import com.amazonaws.services.ec2.AmazonEC2;
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.AWSLambdaClientBuilder;
import com.amazonaws.services.lambda.model.InvokeRequest;
......@@ -51,7 +47,6 @@ public class HazardResultsSlicerLambda implements RequestStreamHandler {
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 ZIP_RESULTS_LAMBDA = System.getenv("ZIP_RESULTS_LAMBDA_NAME");
private static final String INSTANCE_STATUS = "terminated";
private static final int MAX_INSTANCE_CHECK = 100;
......@@ -101,7 +96,6 @@ public class HazardResultsSlicerLambda implements RequestStreamHandler {
futures.forEach(CompletableFuture::join);
lambdaHelper.logger.log("Zipping results");
zipResults(request);
return new Response(request);
}
......@@ -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) {
try {
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