Example #1
0
    def on_init(self):
        if not EEAgentCore:
            msg = "EEAgentCore isn't available. Use autolaunch.cfg buildout"
            log.error(msg)
            self.heartbeat_thread = None
            return
        log.debug("ExecutionEngineAgent Pyon on_init")
        launch_type_name = self.CFG.eeagent.launch_type.name

        if not launch_type_name:
            # TODO: Fail fast here?
            log.error("No launch_type.name specified")

        self._factory = get_exe_factory(launch_type_name,
                                        self.CFG,
                                        pyon_container=self.container,
                                        log=log)

        # TODO: Allow other core class?
        self.core = EEAgentCore(self.CFG, self._factory, log)

        interval = self.CFG.eeagent.get('heartbeat', DEFAULT_HEARTBEAT)
        if interval > 0:
            self.heartbeater = HeartBeater(self.CFG, self._factory, log=log)
            self.heartbeater.poll()
            self.heartbeat_thread = looping_call(0.1, self.heartbeater.poll)
        else:
            self.heartbeat_thread = None
    def on_init(self):
        if not EEAgentCore:
            msg = "EEAgentCore isn't available. Use autolaunch.cfg buildout"
            log.error(msg)
            self.heartbeat_thread = None
            return
        log.debug("ExecutionEngineAgent Pyon on_init")
        launch_type_name = self.CFG.eeagent.launch_type.name

        if not launch_type_name:
            # TODO: Fail fast here?
            log.error("No launch_type.name specified")

        self._factory = get_exe_factory(
            launch_type_name, self.CFG, pyon_container=self.container, log=log)

        # TODO: Allow other core class?
        self.core = EEAgentCore(self.CFG, self._factory, log)

        interval = float(self.CFG.eeagent.get('heartbeat', DEFAULT_HEARTBEAT))
        if interval > 0:
            self.heartbeater = HeartBeater(
                self.CFG, self._factory, self.resource_id, self, log=log)
            self.heartbeater.poll()
            self.heartbeat_thread, self._heartbeat_thread_event = looping_call(0.1, self.heartbeater.poll)
        else:
            self.heartbeat_thread = None
            self._heartbeat_thread_event = None
Example #3
0
    def start(self):

        self._done = False

        # There can be only 1 process manager per eeagent (per supd, per ion)
        try:
            self._factory = get_exe_factory(self.CFG.eeagent.launch_type.name, self.CFG, log=self.log)
            self._interval = 1
            self.messenger = EEAgentMessageHandler(self.CFG, self._factory, self.log)
            self.heartbeater = HeartBeater(self.CFG, self._factory, log=self.log)

            self._res = None
        except Exception, ex:
            self.log.exception("Failed to start EEAgentMain: %s" % (str(ex)))
            raise
Example #4
0
    def start(self):

        self._done = False

        # There can be only 1 process manager per eeagent (per supd, per ion)
        try:
            self._factory = get_exe_factory(self.CFG.eeagent.launch_type.name,
                                            self.CFG,
                                            log=self.log)
            self._interval = 1
            self.messenger = EEAgentMessageHandler(self.CFG, self._factory,
                                                   self.log)
            self.heartbeater = HeartBeater(self.CFG,
                                           self._factory,
                                           log=self.log)

            self._res = None
        except Exception, ex:
            self.log.exception("Failed to start EEAgentMain: %s" % (str(ex)))
            raise
    def on_init(self):
        if not EEAgentCore:
            msg = "EEAgentCore isn't available. Use production.cfg buildout"
            log.error(msg)
            return
        log.debug("ExecutionEngineAgent Pyon on_init")
        launch_type_name = self.CFG.eeagent.launch_type.name

        if not launch_type_name:
            # TODO: Fail fast here?
            log.error("No launch_type.name specified")

        self._factory = get_exe_factory(launch_type_name, self.CFG,
            pyon_container=self.container, log=log)

        # TODO: Allow other core class?
        self.core = EEAgentCore(self.CFG, self._factory, log)

        interval = self.CFG.eeagent.get('heartbeat', DEFAULT_HEARTBEAT)
        if interval > 0:
            self.heartbeater = HeartBeater(self.CFG, self._factory, log=log)
            looping_call(interval, self.heartbeater.poll)