简体   繁体   中英

python - number of pyro connections

I'm using python and writing something that connects to a remote object using Pyro4 When running some unit tests (using pyunit) that repeatedly connects to a remote object with pyro, I found I couldn't run more than 9 tests or the tests would get stuck and just hang there.

I've now managed to fix this by using with Pyro4.Proxy(PYRONAME:name) as pyroObject: do something with object...

whereas before I was creating the object in the test set up: def setUp(self): self.pyroObject = Pyro4.Proxy(PYRONAME:name)

and then using self.pyroObject within the tests

Does anyone know why this has fixed the issue? Thanks

When you're not cleaning up the proxy objects they keep a connection live to the pyro daemon. By default the daemon accepts 16 concurrent connections.

If you use the with.. as... syntax, you're closing the proxy cleanly after you've done using it and this releases a connection in the daemon, making it available for a new proxy.

You can increase the number of 16 by increasing Pyro's threadpool size via the config. Alternatively you could perhaps use the multiplex server type instead of the default threaded one.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM