コード例 #1
0
ファイル: monitors.py プロジェクト: lccasagrande/batsim-py
    def on_host_power_state_changed(self, sender: Host) -> None:
        if sender.id in self.__last_pstate_id and sender.pstate and self.__last_pstate_id[
                sender.id] != sender.pstate.id:
            assert sender.pstate
            assert self.simulator

            self.__last_pstate_id[sender.id] = sender.pstate.id
            if sender.pstate.type == PowerStateType.SWITCHING_OFF:
                new_pstate_id = -2
            elif sender.pstate.type == PowerStateType.SWITCHING_ON:
                new_pstate_id = -1
            else:
                new_pstate_id = sender.pstate.id

            if self.__info['time'][
                    -1] == self.simulator.current_time and self.__info[
                        'new_pstate'][-1] == new_pstate_id:
                # Update last record
                procset = ProcSet.from_str(self.__info['machine_id'][-1])
                procset.update(ProcSet(sender.id))
                self.__info['machine_id'][-1] = str(procset)
            else:
                # Record new state
                self.__info['time'].append(self.simulator.current_time)
                self.__info['machine_id'].append(str(sender.id))
                self.__info['new_pstate'].append(new_pstate_id)
コード例 #2
0
    def __init__(self, timestamp: float, data: dict) -> None:
        super().__init__(timestamp, BatsimEventType.NOTIFY)
        self.__notify_type = BatsimNotifyType[data["type"].upper()]
        self.__resources: Optional[Sequence[int]] = None

        external_events = (BatsimNotifyType.EVENT_MACHINE_AVAILABLE,
                           BatsimNotifyType.EVENT_MACHINE_UNAVAILABLE)
        if self.__notify_type in external_events:
            self.__resources = list(ProcSet.from_str(data["resources"]))
コード例 #3
0
ファイル: test_procset.py プロジェクト: oar-team/procset.py
 def test_invalid_string(self, string):
     pattern = r'^Invalid interval format, parsed string is: \'{}\'$'.format(
         string)
     with pytest.raises(ValueError, match=pattern):
         ProcSet.from_str(string)
コード例 #4
0
ファイル: test_procset.py プロジェクト: oar-team/procset.py
 def test_nostring(self):
     with pytest.raises(
             TypeError,
             match=r'^from_str\(\) argument 2 must be str, not int$'):
         ProcSet.from_str(42)
コード例 #5
0
ファイル: test_procset.py プロジェクト: oar-team/procset.py
 def test_disjoint_ii(self):
     pset = ProcSet.from_str('0-1 2-3')
     assert pset == ProcSet(ProcInt(0, 3))
コード例 #6
0
ファイル: test_procset.py プロジェクト: oar-team/procset.py
 def test_disjoint_ip(self):
     pset = ProcSet.from_str('0-1 2')
     assert pset == ProcSet(ProcInt(0, 1), 2)
コード例 #7
0
ファイル: test_procset.py プロジェクト: oar-team/procset.py
 def test_disjoint_pp(self):
     pset = ProcSet.from_str('1 2')
     assert pset == ProcSet(1, 2)
コード例 #8
0
ファイル: test_procset.py プロジェクト: oar-team/procset.py
 def test_contiguous(self):
     pset = ProcSet.from_str('0-3')
     assert pset == ProcSet(ProcInt(0, 3))
コード例 #9
0
ファイル: test_procset.py プロジェクト: oar-team/procset.py
 def test_single_point(self):
     pset = ProcSet.from_str('0')
     assert pset == ProcSet(0)
コード例 #10
0
ファイル: test_procset.py プロジェクト: oar-team/procset.py
 def test_empty(self):
     pset = ProcSet.from_str('')
     assert pset == ProcSet()
コード例 #11
0
ファイル: intsetwrap.py プロジェクト: oar-team/procset.py
def string_to_interval_set(string, separator=" "):
    """[deprecated] Transform a string to an intervals' set."""
    return list(_ProcSet.from_str(string, outsep=separator).intervals())
コード例 #12
0
 def __init__(self, timestamp: float, data: dict) -> None:
     super().__init__(timestamp, BatsimEventType.RESOURCE_STATE_CHANGED)
     self.__resources = list(ProcSet.from_str(data["resources"]))
     self.__state = int(data["state"])
コード例 #13
0
 def __init__(self, timestamp: float, data: dict) -> None:
     super().__init__(timestamp, BatsimEventType.JOB_COMPLETED)
     self.__job_id = str(data["job_id"])
     self.__job_state = JobState[data["job_state"]]
     self.__return_code = int(data["return_code"])
     self.__alloc = list(ProcSet.from_str(data["alloc"]))