def get_server(): ''' 현재의 Python Interpreter 에서 접속한 백엔드와 교신하게 해 준다. Warara 코드 전반에서 사용된다. ''' global server if not server: if warara_settings.SERVER_TYPE == 'THRIFT': server = Server(ARARA_SERVER_HOST, ARARA_SERVER_BASE_PORT) elif warara_settings.SERVER_TYPE == 'DIRECT': # Set logger # XXX(hodduc): Thrift server와 arara_settings를 참조하지 않는 방향으로 고치면 더 좋을 듯 # bin/thrift_arara_server.py와 middleware/thrift_server.py에서 해당 부분을 분리해낼 필요가 있음 from middleware.thrift_server import set_default_log_handlers from etc import arara_settings set_default_log_handlers(arara_settings.ARARA_LOG_PATH, arara_settings.ARARA_DEBUG_HANDLER_ON, arara_settings.ARARA_DEBUG_LOG_PATH) logger = logging.getLogger('main') # Get Engine from arara import arara_engine from arara import model model.init_database() server = arara_engine.ARAraEngine() else: raise ValueError("Invalid Value for warara_settings.SERVER_TYPE") return server
def open_server(base_port): ''' @type base_port: int @param base_port: 서버의 포트번호 시작점 ''' base_class = ARAraEngine thrift_class = ARAraThriftInterface port = base_port logger.info("Opening ARAra Thrift middleware on port starting from %s...", port) server, handler = open_thrift_server(thrift_class, base_class, port, "TThreadPoolServer", 30) return server, handler if __name__ == '__main__': set_default_log_handlers(arara_settings.ARARA_LOG_PATH, arara_settings.ARARA_DEBUG_HANDLER_ON, arara_settings.ARARA_DEBUG_LOG_PATH) logger = logging.getLogger('main') parser = optparse.OptionParser() parser.add_option("-p", "--port=", dest="port", default=arara_settings.ARARA_SERVER_BASE_PORT, type="int", help="The port to bind") options, args = parser.parse_args() arara.model.init_database() def exception_handler(type_, value, traceback_): error_msg = ''.join(traceback.format_exception(type_, value, traceback_)) print >> sys.stderr, error_msg print >> sys.stdout, error_msg
@type base_port: int @param base_port: 서버의 포트번호 시작점 ''' base_class = ARAraEngine thrift_class = ARAraThriftInterface port = base_port logger.info("Opening ARAra Thrift middleware on port starting from %s...", port) server, handler = open_thrift_server(thrift_class, base_class, port, "TThreadPoolServer", 30) return server, handler if __name__ == '__main__': set_default_log_handlers(arara_settings.ARARA_LOG_PATH, arara_settings.ARARA_DEBUG_HANDLER_ON, arara_settings.ARARA_DEBUG_LOG_PATH) logger = logging.getLogger('main') parser = optparse.OptionParser() parser.add_option("-p", "--port=", dest="port", default=arara_settings.ARARA_SERVER_BASE_PORT, type="int", help="The port to bind") options, args = parser.parse_args() arara.model.init_database() def exception_handler(type_, value, traceback_):