def run(self): ECA_parser.restore_vars() error = None percent = 0 error = False if self.threadsync_event: self.threadsync_event.wait() if self.stopped(): self._observer.info((False,percent,'Engine stopped',False)) else: error = self.handle_single_event(Event.initializeEvent) while self.eventProducer.has_next_event() and not self.stopped(): next_event = self.eventProducer.next_event() if self.threadsync_event: self.threadsync_event.wait() error = self.handle_single_event(next_event) if self.eventProducer.percent > percent: percent = self.eventProducer.percent self._observer.info((True,percent,'Working... '+str(percent)+'%',False)) error = self.handle_single_event(Event.finalizeEvent) if not self.stopped(): self._observer.info((False,100,'Done',False)) elif not error: self._observer.info((False,percent,'Engine stopped',False)) else: self._observer.info((False,percent,error,True)) print('#!Finish rule engine thread, variables are: \n') print(ECA_parser.variables)
def run(self): ECA_parser.restore_vars() error = None percent = 0 error = False if self.threadsync_event: self.threadsync_event.wait() if self.stopped(): self._observer.info((False, percent, 'Engine stopped', False)) else: error = self.handle_single_event(Event.initializeEvent) while self.eventProducer.has_next_event() and not self.stopped(): next_event = self.eventProducer.next_event() if self.threadsync_event: self.threadsync_event.wait() error = self.handle_single_event(next_event) if self.eventProducer.percent > percent: percent = self.eventProducer.percent self._observer.info( (True, percent, 'Working... ' + str(percent) + '%', False)) error = self.handle_single_event(Event.finalizeEvent) if not self.stopped(): self._observer.info((False, 100, 'Done', False)) elif not error: self._observer.info((False, percent, 'Engine stopped', False)) else: self._observer.info((False, percent, error, True)) print('#!Finish rule engine thread, variables are: \n') print(ECA_parser.variables)