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)
def update_events(self, messages): if not self.plugin: raise exception.SetupFailure("No available executor plugin.") return self.plugin.update_events(messages)
def get_event_ranges(self): if not self.plugin: raise exception.SetupFailure("No available executor plugin.") return self.plugin.get_event_ranges()
def get_exit_code(self): if not self.plugin: raise exception.SetupFailure("No available executor plugin.") return self.plugin.get_exit_code()
def is_alive(self): if not self.plugin: raise exception.SetupFailure("No available executor plugin.") return self.plugin.is_alive()
def stop(self): if not self.plugin: raise exception.SetupFailure("No available executor plugin.") return self.plugin.stop()