def setUp(self): Context, _ = get_zmq_classes() self.context = Context() self.pool = ThreadPool(24) self.client = ThreadingRPCClient(context=self.context, pool=self.pool) self.service = ThreadingRPCService(context=self.context, pool=self.pool) super(ThreadingBase, self).setUp()
class ThreadingBase(BaseCase): def setUp(self): Context, _ = get_zmq_classes() self.context = Context() self.pool = ThreadPool(24) self.client = ThreadingRPCClient(context=self.context, pool=self.pool) self.service = ThreadingRPCService(context=self.context, pool=self.pool) super(ThreadingBase, self).setUp() def tearDown(self): self.client.shutdown() self.service.shutdown() self.context.term() self.pool.close() self.pool.stop() self.pool.join() super(ThreadingBase, self).tearDown()
def setUp(self): env = None Context, _ = get_zmq_classes(env) self.tools = get_tools(env) self.context = Context() self.executor = self.tools.Executor(12) #from concurrent.futures import ThreadPoolExecutor #self.executor = ThreadPoolExecutor(12) self.client = ThreadingRPCClient(context=self.context, executor=self.executor) self.service = ThreadingRPCService(context=self.context, executor=self.executor) super(ThreadingBase, self).setUp()
class ThreadingBase(BaseCase): def setUp(self): env = None Context, _ = get_zmq_classes(env) self.tools = get_tools(env) self.context = Context() self.executor = self.tools.Executor(12) #from concurrent.futures import ThreadPoolExecutor #self.executor = ThreadPoolExecutor(12) self.client = ThreadingRPCClient(context=self.context, executor=self.executor) self.service = ThreadingRPCService(context=self.context, executor=self.executor) super(ThreadingBase, self).setUp() def tearDown(self): self.client.shutdown() self.service.shutdown() self.context.term() self.executor.shutdown(cancel=True) #self.executor.shutdown() super(ThreadingBase, self).tearDown()
"run a function, print results" print msg, '<request>' res = func(*args) print msg, '<response>', res if __name__ == '__main__': #from netcall import setup_logger #setup_logger() pool = ThreadPool(128) spawn = lambda f, *ar, **kw: pool.schedule(f, args=ar, kwargs=kw) # Custom serializer/deserializer functions can be passed in. The server # side ones must match. echo = ThreadingRPCClient(pool=pool, serializer=JSONSerializer()) echo.connect('tcp://127.0.0.1:5555') tasks = [ spawn(printer, "[echo] Echoing \"Hi there\"", echo.echo, "Hi there") ] try: print "Testing a remote exception...", echo.error() print "FAIL, no remote exception!" except RemoteRPCError, e: print "OK, got an expected remote exception:" #print e.ename print e.evalue print e.traceback
def printer(msg, func, *args): "run a function, print results" print msg, '<request>' res = func(*args) print msg, '<response>', res if __name__ == '__main__': #from netcall import setup_logger #setup_logger() pool = ThreadPool(128) spawn = lambda f, *ar, **kw: pool.schedule(f, args=ar, kwargs=kw) # Custom serializer/deserializer functions can be passed in. The server # side ones must match. echo = ThreadingRPCClient(pool=pool, serializer=JSONSerializer()) echo.connect('tcp://127.0.0.1:5555') tasks = [spawn(printer, "[echo] Echoing \"Hi there\"", echo.echo, "Hi there")] try: print "Testing a remote exception...", echo.error() print "FAIL, no remote exception!" except RemoteRPCError, e: print "OK, got an expected remote exception:" #print e.ename print e.evalue print e.traceback try: