def _term_handler(self, signum, frame): """ Signal Handler for Signal Term """ logger.warning('Signal received. %s %s', signum, frame) logger.warning('Press CTRL+C to KILL') if len(self.inputlist) > 0: logger.warning( 'Following Simpacks have been removed unfinished from the Queue: %s, Items: %s', len(self.inputlist), str(self.inputlist)) self.inputlist = [] logger.warning('Waiting up to 170s for Workers to shutdown...') stop = time.time() + 170 while time.time() < stop: self._iter() logger.warning('... Timeout!') if mpi.mpi: logger.warning('MPI_ABORT') MPI.MPI_Abort(self.comm, int(signum)) self._shutdown()