def quitEdna(self, delay=10): """ Try to quit properly @param: delay for finishing jobs """ self.quit = True self.DEBUG("In %s.quitEdna()" % self.get_name()) self.screen("QuitEdna: Close input pipe" % delay) self.processingThread.join(delay) self.screen("QuitEdna: Finish the processing (timeout = 10s)") t0 = time.time() remaining = EDJob.countRunning() while (remaining > 0) and (time.time() < t0 + delay): self.screen("%i remaining jobs" % remaining) time.sleep(1) remaining = EDJob.countRunning() self.screen("QuitEdna: Close output pipe (timeout = 10s)") self.finishingThread.join(delay) self.screen("Quitting tango-EdnaDS") sys.exit()