コード例 #1
0
    def _on_terminated(self):
        self._on_stop_exec()
        self._etm.on_terminated(self)

        self._end_date = self.sim.now()
        self._monitor.observe(JobEvent(self, JobEvent.TERMINATED))
        self._task.end_job(self)
        self._task.cpu.terminate(self)
        self._sim.logger.log(self.name + " Terminated.", kernel=True)
コード例 #2
0
    def _on_preempted(self):
        self._on_stop_exec()
        self._etm.on_preempted(self)
        self._is_preempted = True
        self._was_running_on = self.cpu

        self._monitor.observe(JobEvent(self, JobEvent.PREEMPTED))
        self._sim.logger.log(self.name + " Preempted! ret: " +
                             str(self.interruptLeft),
                             kernel=True)
コード例 #3
0
ファイル: Job.py プロジェクト: SlimBenAmor/simso
 def _on_abort(self):
     self._on_stop_exec()
     self._etm.on_abort(self)
     self._end_date = self.sim.now()
     self._aborted = True
     self._monitor.observe(JobEvent(self, JobEvent.ABORTED))
     self._task.end_job(self)
     self._task.cpu.terminate(self)
     self._sim.logger.log("Job " + str(self.name) + " aborted! ret:" +
                          str(self.ret))
コード例 #4
0
    def _on_terminated(self):
        self._on_stop_exec()
        self._etm.on_terminated(self)

        self._end_date = self.sim.now()
        self._monitor.observe(JobEvent(self, JobEvent.TERMINATED))
        self._task.end_job(self)
        self._task.cpu.terminate(self)
        self._sim.logger.log(self.name + " Terminated.", kernel=True)

        _measurement = self._extractUsefulInfo()
        self._sim.addNewMeasurement(_measurement)
コード例 #5
0
    def _on_execute(self):
        self._last_exec = self.sim.now()

        self._etm.on_execute(self)
        if self._is_preempted:
            self._is_preempted = False

        self.cpu.was_running = self

        self._monitor.observe(JobEvent(self, JobEvent.EXECUTE, self.cpu))
        self._sim.logger.log("{} Executing on {}".format(
            self.name, self._task.cpu.name),
                             kernel=True)
コード例 #6
0
 def _on_activate(self):
     self._monitor.observe(JobEvent(self, JobEvent.ACTIVATE))
     self._sim.logger.log(self.name + " Activated.", kernel=True)
     self._etm.on_activate(self)