python - Pyro4 RPC blocking -


i doing development on high performance numeric calculations system posts results web server. use flask on seperate process serve web page keep interactive , use websockets send data js plotter. calculations split using multiprocessing performance reasons.

we using pyro4 parameters updated in calculations server. however, if number of updates per second gets high on our pyro4 settings object starts blocking , makes impossible update parameters until restart server. proxy calls made inside of async websocket callback.

we not getting tracebacks, nor exceptions makes debugging tricky. there other people have lot of experience pyro in context?

pyro daemon init code:

pyro4.config.servertype = "multiplex" daemon = pyro4.daemon() ns = pyro4.locatens() settings = cg.settings(web_opt, src_opt, rec_opt, det_opt) uri = daemon.register(settings) ns.register("cg.settings", uri) daemon.requestloop() 

settings class:

class settings(object):  def __init__(self, web_opt, src_opt, rec_opt, det_opt):     self.pipes = [web_opt, src_opt, rec_opt, det_opt]  def update(self, update):     [pipe.send(update) pipe in self.pipes] 

proxy call:

def onmessage(self, payload, isbinary):     data = json.loads(payload)     self.factory.content.set_by_uuid(data['id'], data['value'], self.client_address)     settings = pyro4.proxy("pyroname:cg.settings")     values = self.factory.content.values     settings.update(values)     settings._pyrorelease() 


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -