class Router(object): def __init__(self): self.processor = Processor() def __del__(self): self.close() def close(self): self.processor.close() def dispatch(self, request_handler): # start = time.time() db().open_session() db_rcd().open_session() try: token = self.parse_token(request_handler.request) msg_list = self.parse_msg(request_handler.request) val_list = self.handle_msg(token, msg_list, request_handler) response = self.parse_response(val_list) return response except PiscesException, ex: db_rcd().rollback() db().rollback() log_root().exception('uncaught pisces except: ' + ex.msg) finally: