Skip to content

Commit f25ed4f

Browse files
committed
Change compute reqs: r5.large -> m5.xlarge; 50GB -> 150GB
storage cost increase negligible compute cost 0.13/h -> 0.19/h
1 parent e6dd699 commit f25ed4f

4 files changed

Lines changed: 24 additions & 9 deletions

File tree

aws/setup/batch/environment.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"maxvCpus": 32,
1717
"desiredvCpus": 0,
1818
"instanceTypes": [
19-
"r5.large"
19+
"m5.xlarge"
2020
],
2121
"subnets": [
2222
"subnet-02f03254ff2613e05",

aws/setup/batch/job_definition.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"ulimits": [],
1818
"resourceRequirements": [
1919
{
20-
"value": "2",
20+
"value": "4",
2121
"type": "VCPU"
2222
},
2323
{

aws/setup/batch/launch_template.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
{
66
"DeviceName": "/dev/xvda",
77
"Ebs": {
8-
"VolumeSize": 50,
8+
"VolumeSize": 150,
99
"VolumeType": "gp3"
1010
}
1111
}

aws/setup/batch/push.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import base64
66
import json
77
import logging
8+
import time
89
from pathlib import Path
910
from typing import Any
1011

@@ -143,12 +144,26 @@ def push_job_queue(queue_data: dict, batch_client) -> None:
143144

144145
if response["jobQueues"]:
145146
logger.info(f"Job queue {queue_name} already exists, updating")
146-
batch_client.update_job_queue(
147-
jobQueue=queue_name,
148-
state=queue_data.get("state", "ENABLED"),
149-
priority=queue_data.get("priority", 1),
150-
computeEnvironmentOrder=queue_data.get("computeEnvironmentOrder", []),
151-
)
147+
try:
148+
batch_client.update_job_queue(
149+
jobQueue=queue_name,
150+
state=queue_data.get("state", "ENABLED"),
151+
priority=queue_data.get("priority", 1),
152+
computeEnvironmentOrder=queue_data.get("computeEnvironmentOrder", []),
153+
)
154+
except ClientError as e:
155+
message = str(e)
156+
if "is not valid" in message and "attaching" in message:
157+
logger.info("Need to wait for environment to get validated. Waiting for 20s")
158+
time.sleep(20)
159+
batch_client.update_job_queue(
160+
jobQueue=queue_name,
161+
state=queue_data.get("state", "ENABLED"),
162+
priority=queue_data.get("priority", 1),
163+
computeEnvironmentOrder=queue_data.get("computeEnvironmentOrder", []),
164+
)
165+
else:
166+
raise
152167
_update_batch_resource_tags("job-queue", queue_name, queue_data.get("tags"), batch_client)
153168
else:
154169
logger.info(f"Creating new job queue: {queue_name}")

0 commit comments

Comments
 (0)