def _start_server(self, storage_driver=None, topic=None, host=None, allow_stop=True): if not storage_driver: storage_driver = MemoryDriver('memory:///') server = EngineServer(host or 'test.host', storage_driver=storage_driver, topic=topic, allow_stop=allow_stop) thread = threading.Thread(target=server.start) thread.daemon = True thread.server = server thread.start() return thread
class Server(Daemon): def __init__(self, host): self.host = host self.rpc_server = EngineServer(self.host) def start(self): """Starts the rpc server.""" self.rpc_server.start() def wait(self): """Waits for rpc server to end.""" self.rpc_server.wait() def stop(self): """Stops the rpc server""" self.rpc_server.stop() def run_forever(self, *args, **kwargs): """Run the process continuously.""" self.start() try: self.wait() except: self.stop() raise self.stop() def run_once(self, *args, **kwargs): """Run the process one pass.""" self.start() try: self.wait() except: self.stop() raise self.stop()
def __init__(self, host): self.host = host self.rpc_server = EngineServer(self.host)