Stop the process manager when it no longer has processes to manage

This commit is contained in:
Mike Place 2017-03-02 14:45:57 -07:00
parent c234c25092
commit e31d46c1b8
No known key found for this signature in database
GPG key ID: 9136F4F13705CFD3

View file

@ -385,6 +385,8 @@ class ProcessManager(object):
yield gen.sleep(10)
else:
time.sleep(10)
if len(self._process_map) == 0:
break
# OSError is raised if a signal handler is called (SIGTERM) during os.wait
except OSError:
break
@ -396,6 +398,7 @@ class ProcessManager(object):
if self._restart_processes is True:
for pid, mapping in six.iteritems(self._process_map):
if not mapping['Process'].is_alive():
log.trace('Process restart of {0}'.format(pid))
self.restart_process(pid)
def kill_children(self, *args, **kwargs):