From 12bac55e51ef38bed130df44eebca0526649f82b Mon Sep 17 00:00:00 2001 From: Sheng Date: Tue, 3 Apr 2018 19:17:59 +0800 Subject: [PATCH] Use daemon thread for ssh_connect --- main.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main.py b/main.py index eb4ebd5..f20bb19 100644 --- a/main.py +++ b/main.py @@ -222,7 +222,7 @@ class IndexHandler(MixinHandler, tornado.web.RequestHandler): chan = ssh.invoke_shell(term='xterm') chan.setblocking(0) worker = Worker(ssh, chan, dst_addr) - IOLoop.current().call_later(DELAY, recycle, worker) + worker.src_addr = self.get_client_addr() return worker def ssh_connect_wrapped(self, future): @@ -243,18 +243,18 @@ class IndexHandler(MixinHandler, tornado.web.RequestHandler): status = None future = Future() - threading.Thread( - target=self.ssh_connect_wrapped, args=(future,) - ).start() + t = threading.Thread(target=self.ssh_connect_wrapped, args=(future,)) + t.setDaemon(True) + t.start() try: worker = yield future except Exception as exc: status = str(exc) else: - worker.src_addr = self.get_client_addr() worker_id = worker.id workers[worker_id] = worker + IOLoop.current().call_later(DELAY, recycle, worker) self.write(dict(id=worker_id, status=status))