def connectToMaster(self): logging.info("Connecting to master at %s:%s", self.clusterMaster, MultiMachineWorkerRunner.TestControlPort) while True: socketError = None sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: sock.connect((self.clusterMaster, MultiMachineWorkerRunner.TestControlPort)) common.writeString(sock, MultiMachineTestRunner.ProtoclVersion) common.writeString(sock, self.testId) response = common.readString(sock) if response != 'ok:start_worker': logging.error("Error response from cluster master: %s", response) sock.close() sock = None logging.info("Connected to cluster master. Response: %s", response) return sock except common.SocketException: socketError = traceback.format_exc() except socket.error: socketError = traceback.format_exc() if socketError: sock.close() logging.info("Waiting for master. %s", socketError) time.sleep(0.5)
def endSession(self, workerSocket, message=None): if message: common.writeString(workerSocket, message) workerSocket.close()
def stopWorkers(self): logging.info("Signalling all workers to stop") self.forEachWorker( lambda workerSocket: common.writeString(workerSocket, "ok:stop_worker") )
def startWorkers(self): self.forEachWorker( lambda workerSocket: common.writeString(workerSocket, "ok:start_worker") )
def stopWorkers(self): logging.info("Signalling all workers to stop") self.forEachWorker(lambda workerSocket: common.writeString( workerSocket, "ok:stop_worker"))
def startWorkers(self): self.forEachWorker(lambda workerSocket: common.writeString( workerSocket, "ok:start_worker"))