mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-15 05:53:00 +00:00
include retry link after failed spawn
This commit is contained in:
@@ -281,13 +281,18 @@ class SpawnPendingHandler(BaseHandler):
|
||||
# Implicit spawn on /user/:name is not allowed if the user's last spawn failed.
|
||||
# We should point the user to Home if the most recent spawn failed.
|
||||
exc = spawner._spawn_future.exception()
|
||||
self.log.error(
|
||||
"Preventing implicit spawn for %s because last spawn failed: %s",
|
||||
spawner._log_name,
|
||||
exc,
|
||||
self.log.error("Previous spawn for %s failed: %s", spawner._log_name, exc)
|
||||
spawn_url = url_path_join(self.hub.base_url, "spawn", user.escaped_name)
|
||||
self.set_status(500)
|
||||
html = self.render_template(
|
||||
"not_running.html",
|
||||
user=user,
|
||||
server_name=server_name,
|
||||
spawn_url=spawn_url,
|
||||
failed=True,
|
||||
)
|
||||
# raise a copy because each time an Exception object is re-raised, its traceback grows
|
||||
raise copy.copy(exc).with_traceback(exc.__traceback__)
|
||||
self.finish(html)
|
||||
return
|
||||
|
||||
# Check for pending events. This should usually be the case
|
||||
# when we are on this page.
|
||||
|
@@ -5,12 +5,33 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
{% block heading %}
|
||||
<h1>
|
||||
{% if failed %}
|
||||
Spawn failed
|
||||
{% else %}
|
||||
Server not running
|
||||
{% endif %}
|
||||
</h1>
|
||||
{% endblock %}
|
||||
{% block message %}
|
||||
<p>Server {{ server_name }} is not running. Would you like to start it?</p>
|
||||
<p>
|
||||
{% if failed %}
|
||||
The latest attempt to start your server {{ server_name }} has failed.
|
||||
Would you like to retry starting it?
|
||||
{% else %}
|
||||
Your server {{ server_name }} is not running. Would you like to start it?
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endblock %}
|
||||
{% block start_button %}
|
||||
<a id="start" role="button" class="btn btn-lg btn-primary" href="{{ spawn_url }}">
|
||||
Launch Server {{ server_name }}
|
||||
{% if failed %}
|
||||
Relaunch
|
||||
{% else %}
|
||||
Launch
|
||||
{% endif %}
|
||||
Server {{ server_name }}
|
||||
</a>
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user