Exemplo n.º 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
Exemplo n.º 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
 def __init__(self):
     model.init_database()
Exemplo n.º 4
0
'''
ARAraEngine 객체를 생성하고, 디버깅에 유용한 모듈들을 import 한다.
디버깅 편의를 위해 global namespace 에 arara_engine 이라는 인스턴스를 생성.

USAGE:

    $ python -i direct_arara_engine_loader.py

    >>> s = arara_engine.login_manager.login(u"SYSOP", u"SYSOP", "127.0.0.1")
    >>> print_memory_allocated()

tools/memory_inspector.py 를 사용한다.
tools/sqlalchemy_debugger.py 도 사용한다.
'''
import os
import sys

THRIFT_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'gen-py'))
ARARA_PATH  = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
sys.path.append(THRIFT_PATH)
sys.path.append(ARARA_PATH)

from arara import arara_engine
from arara import model

from tools.memory_inspector import print_memory_allocated
from tools.sqlalchemy_debugger import compile_query

model.init_database()
arara_engine = arara_engine.ARAraEngine()