Skip to content

Commit 9f3ceb4

Browse files
committed
use all 4 cores
1 parent 83ba7ce commit 9f3ceb4

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

compose_runner/ecs_task.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ def _bool_from_env(value: Optional[str]) -> bool:
7373
return value.lower() in {"1", "true", "t", "yes", "y"}
7474

7575

76+
def _resolve_n_cores(env_value: Optional[str]) -> Optional[int]:
77+
if env_value:
78+
return int(env_value)
79+
detected_cores = os.cpu_count()
80+
return detected_cores if detected_cores else None
81+
82+
7683
def main() -> None:
7784
if ARTIFACT_PREFIX_ENV not in os.environ:
7885
raise RuntimeError(f"{ARTIFACT_PREFIX_ENV} environment variable must be set.")
@@ -85,8 +92,7 @@ def main() -> None:
8592
nsc_key = os.environ.get(NSC_KEY_ENV) or None
8693
nv_key = os.environ.get(NV_KEY_ENV) or None
8794
no_upload = _bool_from_env(os.environ.get(NO_UPLOAD_ENV))
88-
n_cores_value = os.environ.get(N_CORES_ENV)
89-
n_cores = int(n_cores_value) if n_cores_value else None
95+
n_cores = _resolve_n_cores(os.environ.get(N_CORES_ENV))
9096

9197
bucket = os.environ.get(RESULTS_BUCKET_ENV)
9298
prefix = os.environ.get(RESULTS_PREFIX_ENV)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from compose_runner import ecs_task
2+
3+
4+
def test_resolve_n_cores_prefers_env():
5+
assert ecs_task._resolve_n_cores("3") == 3
6+
7+
8+
def test_resolve_n_cores_detects_cpu(monkeypatch):
9+
monkeypatch.setattr(ecs_task.os, "cpu_count", lambda: 4)
10+
assert ecs_task._resolve_n_cores(None) == 4
11+
12+
13+
def test_resolve_n_cores_handles_unknown_cpu(monkeypatch):
14+
monkeypatch.setattr(ecs_task.os, "cpu_count", lambda: None)
15+
assert ecs_task._resolve_n_cores(None) is None

0 commit comments

Comments
 (0)