Commit 398b8fc1 authored by Maiterth, Matthias's avatar Maiterth, Matthias
Browse files

Early check on available nodes compared to number of requested nodes.

parent b3dcd88b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
from typing import Optional
from typing import Optional, List
import dataclasses
import pandas as pd

@@ -65,7 +65,11 @@ class Engine:
        )
        print(f"Using scheduler: {scheduler_type}")

    def eligible_jobs(self, jobs_to_submit):
    def eligible_jobs(self, jobs_to_submit: List):
        """
        Returns list of eligible jobs and:
        modifies the jobs_to_submit removing them from the passed list (Mutable)!
        """
        # Build a list of jobs whose submit_time is <= current_time.
        eligible = [job for job in jobs_to_submit if job['submit_time'] <= self.current_time]
        # Remove those jobs from jobs_to_submit:
+4 −1
Original line number Diff line number Diff line
@@ -41,7 +41,10 @@ class Scheduler:
            # Make sure the requested nodes are available.
            nodes_available = False
            if job.requested_nodes:  # nodes specified, i.e., telemetry replay
                if len(job.requested_nodes) < len(self.resource_manager.available_nodes):
                    nodes_available = set(job.requested_nodes).issubset(set(self.resource_manager.available_nodes))
                else:
                    break
            else:  # synthetic
                nodes_available = len(self.resource_manager.available_nodes) >= job.nodes_required