mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-18 15:33:02 +00:00
Abort jupyterhub startup only if managed services fail
This commit is contained in:
@@ -3640,7 +3640,7 @@ class JupyterHub(Application):
|
|||||||
if service.managed:
|
if service.managed:
|
||||||
status = await service.spawner.poll()
|
status = await service.spawner.poll()
|
||||||
if status is not None:
|
if status is not None:
|
||||||
self.log.error(
|
self.log.critical(
|
||||||
"Service %s exited with status %s",
|
"Service %s exited with status %s",
|
||||||
service_name,
|
service_name,
|
||||||
status,
|
status,
|
||||||
@@ -3649,12 +3649,20 @@ class JupyterHub(Application):
|
|||||||
else:
|
else:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
self.log.error(
|
if service.managed:
|
||||||
"Cannot connect to %s service %s at %s. Is it running?",
|
self.log.critical(
|
||||||
service.kind,
|
"Cannot connect to %s service %s",
|
||||||
service_name,
|
service_name,
|
||||||
service.url,
|
service.kind,
|
||||||
)
|
exc_info=True,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.log.warning(
|
||||||
|
"Cannot connect to %s service %s at %s. Is it running?",
|
||||||
|
service.kind,
|
||||||
|
service_name,
|
||||||
|
service.url,
|
||||||
|
)
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -3745,18 +3753,8 @@ class JupyterHub(Application):
|
|||||||
# start the service(s)
|
# start the service(s)
|
||||||
for service_name, service in self._service_map.items():
|
for service_name, service in self._service_map.items():
|
||||||
service_ready = await self.start_service(service_name, service, ssl_context)
|
service_ready = await self.start_service(service_name, service, ssl_context)
|
||||||
if not service_ready:
|
if not service_ready and service.managed:
|
||||||
if service.from_config:
|
self.exit(1)
|
||||||
# Stop the application if a config-based service failed to start.
|
|
||||||
self.exit(1)
|
|
||||||
else:
|
|
||||||
# Only warn for database-based service, so that admin can connect
|
|
||||||
# to hub to remove the service.
|
|
||||||
self.log.error(
|
|
||||||
"Failed to reach externally managed service %s",
|
|
||||||
service_name,
|
|
||||||
exc_info=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
await self.proxy.check_routes(self.users, self._service_map)
|
await self.proxy.check_routes(self.users, self._service_map)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user