Esempio n. 1
0
    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()