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)
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)
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))
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)
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)
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)