I've decided to use the API provided by PyRO.
pyro_ns_object = Pyro.naming.NameServerStarter()
pyro_ns = threading.Thread(name='Pyro Name Server', target=self.__Pyro_NameServer, args=(pyro_ns_object,))
pyro_ns.setDaemon(True)
self.__logger.debug('start thread def self.__Pyro_NameServer')
pyro_ns.start()
while True:
if pyro_ns_object.waitUntilStarted(timeout=0.1):
break
else:
self.__logger.debug('waiting pyro-ns')
def __Pyro_NameServer(self, pyro_ns_object):
try:
self.__logger.debug('def __Pyro_NameServer')
self.__logger.debug('starting pyro-ns')
pyro_ns_object.start()
except Exception as e:
self.__logger.error('%s' % str(e))
raise e