0
私はプロジェクトにTorndoを使用しています。私はこのスケルトンをサーバーに使用します。このコードを使用して、http://server/dev/Fooとhttp://server/dev/Barを使って自分のメソッドに対処します。このコードの生産どのスケルトンが正しいのですか
class MainHandler(SessionBaseHandler):
def __init__(self, *args, **kwargs):
global logger
super(MainHandler, self).__init__(*args, **kwargs)
@tornado.web.asynchronous
@tornado.gen.coroutine
def post(self,func_name):
request = self.request.body
func = getattr(self, func_name)
response = yield tornado.gen.Task(func,request)
self.write(response)
self.finish()
def Foo(self, query, callback):
callback({"queryFoo":query})
def Bar(self, query, callback):
callback({"queryBar":query})
class TornadoApplication(tornado.web.Application):
def __init__(self):
handlers = [
(r"/dev/(.*)", acquiring.MainHandler),
]
settings.update(session=session_settings)
tornado.web.Application.__init__(self, handlers)
http_server = tornado.httpserver.HTTPServer(TornadoApplication())
http_server.listen(Config.get('WebServer','Port'))
tornado.ioloop.IOLoop.instance().start()
での作業しかし、いくつかのドキュメントでは時間との記事は、このように、この骨格を説明します。
class MainHandlerFoo(SessionBaseHandler):
def __init__(self, *args, **kwargs):
global logger
super(MainHandler, self).__init__(*args, **kwargs)
@tornado.web.asynchronous
@tornado.gen.coroutine
def post(self,func_name):
request = self.request.body
response = yield tornado.gen.Task(self._Foo,request)
self.write(response)
self.finish()
def _Foo(self, query, callback):
callback({"queryFoo":query})
class MainHandlerBar(SessionBaseHandler):
def __init__(self, *args, **kwargs):
global logger
super(MainHandler, self).__init__(*args, **kwargs)
@tornado.web.asynchronous
@tornado.gen.coroutine
def post(self,func_name):
request = self.request.body
response = yield tornado.gen.Task(self._Bar,request)
self.write(response)
self.finish()
def _Bar(self, query, callback):
callback({"queryBar":query})
class TornadoApplication(tornado.web.Application):
def __init__(self):
handlers = [
(r"/dev/Foo", acquiring.MainHandlerFoo),
(r"/dev/Bar", acquiring.MainHandlerBar),
]
settings.update(session=session_settings)
tornado.web.Application.__init__(self, handlers)
http_server = tornado.httpserver.HTTPServer(TornadoApplication())
http_server.listen(Config.get('WebServer','Port'))
tornado.ioloop.IOLoop.instance().start()
だから私は途方に暮れて自分自身を発見しました。スケルトンを使用するときに何が問題になるのですか?私のスケルトンは、ドキュメントに記述される前に重要な機能上の不利な点がありますか?それとも単なるスタイルの問題ですか?