예제 #1
0
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
예제 #2
0
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
예제 #3
0
    
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
예제 #4
0
    @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_):