# coding=utf-8 import multiprocessing.managers from . import user_session from . import prolog_session __all__ = ['user_session'] class CodeqManager(multiprocessing.managers.BaseManager): pass class UserSessionProxy(multiprocessing.managers.BaseProxy): _method_to_typeid_ = {'get_prolog':'PrologSession'} CodeqManager.register('PrologSession') CodeqManager.register('UserSession', proxytype=UserSessionProxy) CodeqManager.register('get_session_by_id', callable=user_session.get_session_by_id, proxytype=UserSessionProxy) CodeqManager.register('get_or_create_session', callable=user_session.get_or_create_session, proxytype=UserSessionProxy) CodeqManager.register('authenticate_and_create_session', callable=user_session.authenticate_and_create_session, proxytype=UserSessionProxy) def start(): m = CodeqManager(address=('localhost', 16231), authkey=b'c0d3q3y') m.get_server().serve_forever()