Skip to content

Commit b185755

Browse files
committed
mysql+redis
1 parent 4022e1c commit b185755

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

tornado/web/Web.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@
2323

2424
class WebApplication(tornado.web.Application):
2525
def __init__(self, **kwargs):
26-
kwargs["redis"] = tornadoredis.ConnectionPool(max_connections=10,
27-
wait_for_available=True)
26+
kwargs["redis"] = tornadoredis.ConnectionPool(max_connections = 10,
27+
wait_for_available = True)
28+
kwargs["mysql"] = { 'host':'localhost', 'database':'mysql', 'user':'root', 'password':'mysql' }
2829
handlers = [(r"/", IndexHandler, kwargs)]
2930
tornado.web.Application.__init__(self, handlers)
3031

tornado/web/handlers/Index.py

+13-8
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
class IndexHandler(RequestHandler):
1515
def initialize(self, **kwargs):
1616
self.logger = kwargs.get("logger")
17+
self.mysql = kwargs.get("mysql")
1718
self.redis = tornadoredis.Client(connection_pool=kwargs["redis"])
18-
self.mysql = torndb.Connection("localhost", "mysql")
1919
self.template = Template("op -cmd {{ cmd }} -value {{ value }}")
2020

2121
def _customize(self):
@@ -24,20 +24,25 @@ def _customize(self):
2424

2525
@tornado.web.asynchronous
2626
@tornado.gen.engine
27-
def _redis(self):
28-
info = yield tornado.gen.Task(self.redis.info)
29-
yield tornado.gen.Task(self.redis.disconnect)
30-
return info
31-
3227
def _handle(self, **kwargs):
3328
self._customize()
34-
try:
29+
db = None
30+
try:
31+
db = torndb.Connection(self.mysql['host'], self.mysql['database'],
32+
user=self.mysql['user'], password=self.mysql['password'])
33+
hosts = [host for host in db.query("SELECT Host FROM user WHERE User = 'root'")]
34+
info = yield tornado.gen.Task(self.redis.info)
35+
yield tornado.gen.Task(self.redis.disconnect)
3536
data = { 'cmd': "any", 'value': str(time.time()) }
3637
response = { 'status': 200,
3738
'msg': self.template.generate(**data),
38-
'redis': _redis['redis_version'] }
39+
'redis': info['redis_version'],
40+
'mysql': hosts }
3941
except Exception as ex:
4042
response = { 'status': 500, 'msg': str(ex) }
43+
finally:
44+
if db:
45+
db.close()
4146
if response['status'] != 200:
4247
self.set_status(response['status'])
4348
self.write(json_encode(response))

0 commit comments

Comments
 (0)