コード例 #1
0
ファイル: workexecutor.py プロジェクト: esseivaju/pilot2
    def start(self):
        plugin_confs = self.get_plugin_confs()
        logger.info("Plugin confs: %s" % plugin_confs)
        self.plugin = self.get_plugin(plugin_confs)
        logger.info("WorkExecutor started with plugin: %s" % self.plugin)
        if not self.plugin:
            raise exception.SetupFailure("No available executor plugin.")

        if self.is_retrieve_payload:
            self.payload = self.plugin.set_retrieve_payload()
        else:
            if not self.get_payload():
                raise exception.SetupFailure("Payload is not assigned.")
            else:
                self.plugin.set_payload(self.get_payload())

        logger.info("Starting plugin: %s" % self.plugin)
        self.plugin.start()
        logger.info("Waiting payload to start")
        while self.plugin.is_alive():
            if self.plugin.is_payload_started():
                logger.info("Payload started with pid: %s" % self.get_pid())
                break
            time.sleep(1)
コード例 #2
0
ファイル: workexecutor.py プロジェクト: esseivaju/pilot2
 def update_events(self, messages):
     if not self.plugin:
         raise exception.SetupFailure("No available executor plugin.")
     return self.plugin.update_events(messages)
コード例 #3
0
ファイル: workexecutor.py プロジェクト: esseivaju/pilot2
 def get_event_ranges(self):
     if not self.plugin:
         raise exception.SetupFailure("No available executor plugin.")
     return self.plugin.get_event_ranges()
コード例 #4
0
ファイル: workexecutor.py プロジェクト: esseivaju/pilot2
 def get_exit_code(self):
     if not self.plugin:
         raise exception.SetupFailure("No available executor plugin.")
     return self.plugin.get_exit_code()
コード例 #5
0
ファイル: workexecutor.py プロジェクト: esseivaju/pilot2
 def is_alive(self):
     if not self.plugin:
         raise exception.SetupFailure("No available executor plugin.")
     return self.plugin.is_alive()
コード例 #6
0
ファイル: workexecutor.py プロジェクト: esseivaju/pilot2
 def stop(self):
     if not self.plugin:
         raise exception.SetupFailure("No available executor plugin.")
     return self.plugin.stop()