Skip to content

Commit

Permalink
Merge pull request #42 from campos20/feature/increase-resources
Browse files Browse the repository at this point in the history
Increase resources, limit email size
  • Loading branch information
campos20 authored Aug 3, 2023
2 parents 41d2e5c + 93246e7 commit ad6ed6e
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 10 deletions.
6 changes: 3 additions & 3 deletions iac/batch.tf
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,11 @@ resource "aws_batch_job_definition" "sanity_check_cron_job_definition" {
"resourceRequirements": [
{
"type": "VCPU",
"value": "1"
"value": "2"
},
{
"type": "MEMORY",
"value": "2048"
"value": "4096"
}
],
"executionRoleArn": "${aws_iam_role.sanity_check_execution_role.arn}"
Expand Down Expand Up @@ -131,7 +131,7 @@ resource "aws_batch_compute_environment" "sanity_check_cron_compute_environment"
service_role = aws_iam_role.sanity_check_cron_service_role.arn

compute_resources {
max_vcpus = 1
max_vcpus = 2

security_group_ids = [
aws_security_group.sanity_check_sg.id
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package org.worldcubeassociation.dbsanitycheck.config;

public final class ConstantsConfig {
private ConstantsConfig() {
}

public static final int EMAIL_TRUNCATION_LIMIT = 50;
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package org.worldcubeassociation.dbsanitycheck.service.impl;

import lombok.extern.slf4j.Slf4j;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ByteArrayResource;
Expand All @@ -22,6 +21,8 @@
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import static org.worldcubeassociation.dbsanitycheck.config.ConstantsConfig.EMAIL_TRUNCATION_LIMIT;

@Slf4j
@Service
public class EmailServiceImpl implements EmailService {
Expand Down Expand Up @@ -125,7 +126,7 @@ private void addAnalysis(List<AnalysisBean> analysisResult, StringBuilder sb) {
return;
}

for (int i = 0; i < analysisResult.size(); i++) {
for (int i = 0; i < analysisResult.size() && i < EMAIL_TRUNCATION_LIMIT; i++) {
AnalysisBean analysis = analysisResult.get(i);
sb.append(String.format("<h3>%s. [%s] %s</h3>%n", i + 1,
analysis.getSanityCheck().getCategory().getName(),
Expand All @@ -141,7 +142,8 @@ private void addAnalysis(List<AnalysisBean> analysisResult, StringBuilder sb) {
sb.append("\n </tr>\n");
sb.append(" </thead>\n");
sb.append(" <tbody>\n");
for (JSONObject item : analysis.getAnalysis()) {
for (int j = 0; j < analysis.getAnalysis().size() && j < EMAIL_TRUNCATION_LIMIT; j++) {
var item = analysis.getAnalysis().get(j);
sb.append(" <tr>\n");
for (String header : headers) {
sb.append(" <td style=\"border: 1px solid black;\">")
Expand All @@ -150,11 +152,21 @@ private void addAnalysis(List<AnalysisBean> analysisResult, StringBuilder sb) {
}
sb.append(" </tr>\n");
}
if (analysis.getAnalysis().size() > EMAIL_TRUNCATION_LIMIT) {
sb.append(String.format(" <tr><td colspan=\"%s\" style=\"border: 1px solid black;\">%s other results "
+ "truncated</td></tr>", headers.size(),
analysis.getAnalysis().size() - EMAIL_TRUNCATION_LIMIT));
}
sb.append(" </tbody>\n");
sb.append(" </table>\n");
sb.append("</div>\n");
sb.append("<br>\n\n");
}
if (analysisResult.size() > EMAIL_TRUNCATION_LIMIT) {
sb.append(
String.format("<h4>%s other queries truncated</h4>", analysisResult.size() - EMAIL_TRUNCATION_LIMIT)
);
}
}

private void addErrors(List<SanityCheckWithErrorBean> queriesWithError, StringBuilder sb) {
Expand All @@ -174,7 +186,5 @@ private void addErrors(List<SanityCheckWithErrorBean> queriesWithError, StringBu
sb.append(String.format("<p><b>Reason:</b> %s</p>\n", queryWithErrorBean.getError()));
sb.append("<br>\n\n");
}

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@
import java.util.List;
import java.util.stream.Collectors;

import static org.worldcubeassociation.dbsanitycheck.config.ConstantsConfig.EMAIL_TRUNCATION_LIMIT;

@Service
public class ExclusionServiceImpl implements ExclusionService {
@Override
public ByteArrayResource buildExclusionSuggestionFile(List<AnalysisBean> analysisResult) {
String textFile = "";
for (int i = 0; i < analysisResult.size(); i++) {
for (int i = 0; i < analysisResult.size() && i < EMAIL_TRUNCATION_LIMIT; i++) {
textFile += analysisToInsert(analysisResult.get(i), i) + "\n\n\n";
}
return new ByteArrayResource(textFile.getBytes(StandardCharsets.UTF_8));
Expand All @@ -28,7 +30,7 @@ private String analysisToInsert(AnalysisBean analysis, int index) {
analysis.getSanityCheck().getTopic());

// Empty comment so WRT can easily remember to change this
String suggestion = analysis.getAnalysis().stream().map(it -> String
String suggestion = analysis.getAnalysis().stream().limit(EMAIL_TRUNCATION_LIMIT).map(it -> String
.format("INSERT INTO sanity_check_exclusions (sanity_check_id, exclusion, comments) values (%s, '%s',"
+ " %s);",
sanityCheckId, it.toString().replaceAll("'", "\\\\'"), "''")).collect(Collectors.joining("\n"));
Expand Down

0 comments on commit ad6ed6e

Please sign in to comment.