def __init__(self): log.info("Init Shell..") self._engine = ZMQEventEngine('Shell') self._engine.start() self.gate = EventRPCClient('Shell', self._engine, WindowGate.SERVER_FOR_SHELL) self._backend = EventRPCClient('test_shell', self._engine, Backend.SERVER_FOR_SHELL)
def test_call(): ee = QueueEventEngine() client = EventRPCClient(ee, 'test') server = EventRPCServer(ee, 'test') server.register("server_print_hello", server_print_hello) ee.start() client.call("server_print_hello", {'msg': 'parral_client'}, client_print_hello) return ee
def __init__(self, widget): log.info("Init WindowGate..") self._engine = ZMQEventEngine('WindowGate') self._engine.start() self._backend = EventRPCClient('WindowGate', self._engine, Backend.SERVER_FOR_UI) self._shell_srv = EventRPCServer(self._engine, self.SERVER_FOR_SHELL) self._register_functions(self._shell_srv) self._period = None self._contract = None self._widget = widget
class TestBackend(unittest.TestCase): ui = EventRPCClient('test_ui', backend._engine, backend.SERVER_FOR_UI) shell = EventRPCClient('test_shell', backend._engine, backend.SERVER_FOR_SHELL) def test_get_all_contracts(self): ret = self.ui.sync_call("get_all_contracts") ret = self.shell.sync_call("get_all_contracts") print "***********" print ret print "***********" def test_get_pcontract(self): ret = self.ui.sync_call("get_pcontract", {'str_pcontract': 'BB.TEST-1.MINUTE'}) ret = self.shell.sync_call("get_pcontract", {'str_pcontract': 'BB.TEST-1.MINUTE'}) print json.loads(ret).keys() return
def test_sync_call(timeout): ee = QueueEventEngine() client = EventRPCClient(ee, 'test') server = EventRPCServer(ee, 'test') server.register("server_print_hello", server_print_hello) ee.start() six.print_( client.sync_call("server_print_hello", {'msg': 'sync_client'}, timeout), "**") ee.stop() return
from timeit import timeit from quantdigger.util import gen_log as log from quantdigger.util import project_dir from quantdigger.event.rpc import EventRPCClient from quantdigger.event.eventengine import ZMQEventEngine from quantdigger.interaction.backend import Backend backend_path = os.path.join(project_dir, "quantdigger", "interaction", "backend.py") log.info("启动后台..") backend = subprocess.Popen('python %s' % backend_path, shell=True) time.sleep(1) engine = ZMQEventEngine('WindowGate') engine.start() shell = EventRPCClient('test_shell', engine, Backend.SERVER_FOR_SHELL) def func(): shell.sync_call("test_speed") return t = timeit('func()', 'from __main__ import func', number=100) print(t) subprocess.Popen.kill(backend) a = raw_input("Any key to quit quantdigger.")