Skip to content
Snippets Groups Projects
Commit 24b20e14 authored by Ian's avatar Ian
Browse files

refactor: remove random sampling to simplify job state update logic

parent a22421b5
No related branches found
No related tags found
No related merge requests found
...@@ -5,7 +5,6 @@ import time ...@@ -5,7 +5,6 @@ import time
from tqdm import tqdm from tqdm import tqdm
from pathlib import Path from pathlib import Path
import logging import logging
import random
from .RunConfig import RunConfig from .RunConfig import RunConfig
from .Job import Job from .Job import Job
...@@ -80,16 +79,7 @@ class JobManager: ...@@ -80,16 +79,7 @@ class JobManager:
"""Internal method to update job states in batches""" """Internal method to update job states in batches"""
# Select up to batch_size jobs that were least recently checked # Select up to batch_size jobs that were least recently checked
pending = self.ledger.get_pending_jobs() pending = self.ledger.get_pending_jobs()
for job in pending[:batch_size]:
# Sort by oldest last_checked timestamp
pending.sort(key=lambda job: self.last_checked[job.job_id])
# Randomly sample up to batch_size jobs from the least recently updated
selected = random.sample(
pending[:batch_size], k=min(batch_size, len(pending))
)
for job in selected:
new_state = job.get_status() new_state = job.get_status()
self.ledger.update_status(job.job_id, new_state) self.ledger.update_status(job.job_id, new_state)
......
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