##// END OF EJS Templates
address review from takluyver...
address review from takluyver - various typos - discuss multi-line strings in nbformat doc - testing cleanup - py3compat simplification - don't use setdefault when composing notebook nodes - mime-type fix in svg2pdf

File last commit:

r17021:fb8fa759
r18602:2377691a
Show More
handlers.py
59 lines | 1.7 KiB | text/x-python | PythonLexer
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 """Tornado handlers for cluster web service."""
Brian E. Granger
Adding new files.
r10641
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 # Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
Brian E. Granger
Adding new files.
r10641
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 import json
Brian E. Granger
Adding new files.
r10641
from tornado import web
Brian E. Granger
Moving web services into a subdir.
r10665 from ...base.handlers import IPythonHandler
Brian E. Granger
Adding new files.
r10641
#-----------------------------------------------------------------------------
# Cluster handlers
#-----------------------------------------------------------------------------
class MainClusterHandler(IPythonHandler):
@web.authenticated
def get(self):
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 self.finish(json.dumps(self.cluster_manager.list_profiles()))
Brian E. Granger
Adding new files.
r10641
class ClusterProfileHandler(IPythonHandler):
@web.authenticated
def get(self, profile):
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 self.finish(json.dumps(self.cluster_manager.profile_info(profile)))
Brian E. Granger
Adding new files.
r10641
class ClusterActionHandler(IPythonHandler):
@web.authenticated
def post(self, profile, action):
cm = self.cluster_manager
if action == 'start':
MinRK
fix default cluster count
r10685 n = self.get_argument('n', default=None)
if not n:
Brian E. Granger
Adding new files.
r10641 data = cm.start_cluster(profile)
else:
data = cm.start_cluster(profile, int(n))
if action == 'stop':
data = cm.stop_cluster(profile)
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 self.finish(json.dumps(data))
Brian E. Granger
More work on the handlers
r10647
#-----------------------------------------------------------------------------
# URL to handler mappings
#-----------------------------------------------------------------------------
_cluster_action_regex = r"(?P<action>start|stop)"
_profile_regex = r"(?P<profile>[^\/]+)" # there is almost no text that is invalid
default_handlers = [
(r"/clusters", MainClusterHandler),
(r"/clusters/%s/%s" % (_profile_regex, _cluster_action_regex), ClusterActionHandler),
(r"/clusters/%s" % _profile_regex, ClusterProfileHandler),
]