Skip to content

Commit fc03b1d

Browse files
fail_jobs_above_gb_threshold: bug and fix tests
1 parent 5f8f6c1 commit fc03b1d

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

job_executor/worker/manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def __init__(self, max_workers, max_bytes_all_workers):
1010
:param max_gb_all_workers: Threshold in GB (50) for when the number
1111
of workers are reduced
1212
"""
13-
self.max_workers = default_max_workers
13+
self.max_workers = max_workers
1414
self.max_bytes_all_workers = max_bytes_all_workers
1515

1616
self.workers: List[Worker] = []

tests/unit/worker/test_manager.py

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,27 @@ def dummy():
1010

1111

1212
def test_initial_state():
13-
manager_state = ManagerState()
13+
manager_state = ManagerState(
14+
max_workers=4, max_bytes_all_workers=50 * 1024**3
15+
)
1416

1517
assert manager_state.current_total_size == 0
1618
assert len(manager_state.workers) == 0
1719

1820

1921
def test_can_spawn_worker():
20-
manager_state = ManagerState()
22+
manager_state = ManagerState(
23+
max_workers=4, max_bytes_all_workers=50 * 1024**3
24+
)
2125

2226
can_spawn = manager_state.can_spawn_new_worker(new_job_size=1)
2327
assert can_spawn is True
2428

2529

2630
def test_cannot_spawn_worker_too_many_workers():
27-
manager_state = ManagerState(default_max_workers=4)
31+
manager_state = ManagerState(
32+
max_workers=4, max_bytes_all_workers=50 * 1024**3
33+
)
2834

2935
# Register 4 jobs
3036
for i in range(4):
@@ -42,7 +48,9 @@ def test_cannot_spawn_worker_too_many_workers():
4248

4349
def test_cannot_spawn_worker_size_limit_reached():
4450
TWENTY_GB = 20 * 1024**3
45-
manager_state = ManagerState(max_gb_all_workers=20)
51+
manager_state = ManagerState(
52+
max_workers=20, max_bytes_all_workers=TWENTY_GB
53+
)
4654

4755
large_job = Worker(
4856
process=Process(target=dummy),
@@ -60,7 +68,9 @@ def test_cannot_spawn_worker_size_limit_reached():
6068
def test_oversized_jobs():
6169
FIFTY_GB = 50 * 1024**3
6270
TEN_GB = 10 * 1024**3
63-
manager_state = ManagerState(max_gb_all_workers=20)
71+
manager_state = ManagerState(
72+
max_workers=4, max_bytes_all_workers=20 * 1024**3
73+
)
6474

6575
# This job will never be processed
6676
can_spawn = manager_state.can_spawn_new_worker(new_job_size=FIFTY_GB)
@@ -80,7 +90,9 @@ def test_oversized_jobs():
8090

8191

8292
def test_unregister_job():
83-
manager_state = ManagerState(default_max_workers=4)
93+
manager_state = ManagerState(
94+
max_workers=4, max_bytes_all_workers=50 * 1024**3
95+
)
8496

8597
# Register 4 jobs
8698
for i in range(4):

0 commit comments

Comments
 (0)