def stop(self):
        """Stop child services in reverse order and then this service"""
        if self.state.current in ["init", "stopped"]:
            return
        ready_before_stop = self.ready
        self.state("stop")
        for child in reversed(self._children):
            child.stop()
        if ready_before_stop:
            self.do_stop()
        self.state("stopped")
dataset/ETHPy150Open progrium/ginkgo/ginkgo/core.py/BasicService.stop/original