def launch(self):
self.check()
received = False
def set_received(*_):
nonlocal received
received = True
signal.signal(signal.SIGUSR1, set_received)
pid = self.fork_zeo()
if not received:
while not signal.sigtimedwait([signal.SIGUSR1], 1):
pid, waitres = os.waitpid(pid, os.WNOHANG)
if pid:
log.error('Database server failed to start (check log above).')
sys.exit(1)
settings.DB_URI = urlunsplit(('zeo', '', self.zeo_path, '', ''))
log.debug('Launched built-in ZEO')
return pid
评论列表
文章目录