def start(self, *args, **kwargs):
        self.running = True
        LOGGER.info("Starting: Hedwig Worker Service...")
        try:
            while self.running:
                if len(self.workers) < self.num_workers:
                    worker = self.worker_cls(*args, **kwargs)
                    worker.start()
                    self.workers.append(worker)
                else:
                    for worker in self.workers:
                        if not worker.is_alive():
                            worker.shutdown()
                            self.workers.remove(worker)
                            worker.terminate()
                    time.sleep(5)

        except __HOLE__:
            self.stop()
        except Exception as e:
            LOGGER.exception(str(e))
            traceback.print_exc(file=sys.stdout)
            self.stop()
dataset/ETHPy150Open ofpiyush/hedwig-py/hedwig/core/service.py/ServiceManager.start