예제 #1
0
    def __completed(self, retcode):
        result = ttypes.RunTaskResult()
        result.procId = self.__rtc.procId
        result.taskId = self.__rtc.taskId
        result.jobId = self.__rtc.jobId
        result.maxRssMb = 0

        if self.__wasKilled:
            result.exitStatus = 1
            result.exitSignal = retcode if retcode < 0 else -9
        elif retcode < 0:
            result.exitStatus = 1
            result.exitSignal = retcode
        else:
            result.exitStatus = retcode
            result.exitSignal = 0

        max

        logger.info("Process result %s", result)
        if not conf.NETWORK_DISABLED:
            while True:
                try:
                    service, transport = client.getPlowConnection()
                    service.taskComplete(result)
                    transport.close()
                    break
                except Exception, e:
                    logger.warn("Error talking to plow server, %s, sleeping for 30 seconds", e)
                    time.sleep(30)
예제 #2
0
    def __completed(self, retcode):
        logger.debug("Process completed: %r, (IsShutdown: %r)", self,
                     self.__isShutdown.is_set())
        result = ttypes.RunTaskResult()
        result.maxRssMb = self.__metrics['maxRssMb']

        result.procId = self.__rtc.procId
        result.taskId = self.__rtc.taskId
        result.jobId = self.__rtc.jobId

        if self.__isShutdown.is_set():
            result.exitStatus = 1
            result.exitSignal = 86
            logger.info("Task closing gracefully from shutdown request")

        elif self.__wasKilled.is_set():
            result.exitStatus = 1
            result.exitSignal = retcode if retcode < 0 else -9

        elif retcode < 0:
            result.exitStatus = 1
            result.exitSignal = retcode

        else:
            result.exitStatus = retcode
            result.exitSignal = 0

        logger.info("Process result %s", result)
        if not conf.NETWORK_DISABLED:
            while True:
                try:
                    service, transport = client.getPlowConnection()
                    service.taskComplete(result)
                    transport.close()
                    break
                except Exception, e:
                    logger.warn(
                        "Error talking to plow server, %s, sleeping for 30 seconds",
                        e)
                    time.sleep(30)
예제 #3
0
파일: core.py 프로젝트: JohanAberg/plow
    def __completed(self, retcode):
        logger.debug("Process completed: %r, %r", self, self.__isShutdown.is_set())
        result = ttypes.RunTaskResult()
        result.maxRssMb = self.__metrics['maxRssMb']

        with self.__lock:
            result.procId = self.__rtc.procId
            result.taskId = self.__rtc.taskId
            result.jobId = self.__rtc.jobId

        if self.__isShutdown.is_set():
            result.exitStatus = 1
            result.exitSignal = 86
            logger.info("Task closing gracefully from shutdown request")

        elif self.__wasKilled.is_set():
            result.exitStatus = 1
            result.exitSignal = retcode if retcode < 0 else -9
        
        elif retcode < 0:
            result.exitStatus = 1
            result.exitSignal = retcode
        
        else:
            result.exitStatus = retcode
            result.exitSignal = 0

        logger.info("Process result %s", result)
        if not conf.NETWORK_DISABLED:
            while True:
                try:
                    service, transport = client.getPlowConnection()
                    service.taskComplete(result)
                    transport.close()
                    break
                except Exception, e:
                    logger.warn("Error talking to plow server, %s, sleeping for 30 seconds", e)
                    time.sleep(30)