def _handleUpdate(self, mid): if srvdata.existsMonitorData(mid): sinfodao, ip, port = srvdata.getMonitorData(mid) srvdata.keepAliveMonitor(mid) s = None try: self._sendUpdateToMonitor(ip, port) except socket.error: logging.debug("Error updating %s:%s" % (ip, port)) self.sock.sendall( helper.getMonitorUnreachableError( "Error connecting to %s:%s" % (ip, port))) except socket.timeout: logging.debug("Timeout updating %s:%s" % (ip, port)) self.sock.sendall( helper.getMonitorUnreachableError( "Error connecting to %s:%s [Timeout]" % (ip, port))) finally: if s: s.close() else: self.sock.sendall( helper.getMonitorNotFoundError("Monitor %s does not exists" % mid))
def _handleUpdate(self, mid): if srvdata.existsMonitorData(mid): sinfodao, ip, port = srvdata.getMonitorData(mid) srvdata.keepAliveMonitor(mid) s = None try: self._sendUpdateToMonitor(ip, port) except socket.error: logging.debug("Error updating %s:%s" % (ip, port)) self.sock.sendall( helper.getMonitorUnreachableError( "Error connecting to %s:%s" % (ip, port) ) ) except socket.timeout: logging.debug("Timeout updating %s:%s" % (ip, port)) self.sock.sendall( helper.getMonitorUnreachableError( "Error connecting to %s:%s [Timeout]" % (ip, port) ) ) finally: if s: s.close() else: self.sock.sendall( helper.getMonitorNotFoundError( "Monitor %s does not exists" % mid) )
def sendThroughSocket(sock, to_send, delim='\n\n', wait_for_response=True): code = '' detail = '' msg = '' try: sock.sendall(to_send) logging.debug('Message sent to server') if wait_for_response: first, sep, msg = common.recvEnd(sock, delim).partition('\n') code, sep, detail = first.partition(' ') msg, sep, garbage = msg.partition('\n') code.strip() detail.strip() msg.strip() logging.debug('Response from the server (response code): %s %s' % (code, detail)) logging.debug('Response from the server (response): %s' % msg) except socket.error, e: code = helper.getMonitorUnreachableError() msg = 'Connection error'
def _updateFromOther(sock, instruction, params, timeout): try: ip, port = params.strip().split(':') port = int(port) response = '' sock_to_other = socket.create_connection((ip, port), timeout) sock_to_other.sendall(instruction + '\n') msg = common.recvEnd(sock_to_other, '\n\n') + '\n\n' response_head, sep, rest = msg.partition(' ') if response_head != gdata.K_OK: msg = helper.getGenericError('Bad response') except ValueError: msg = helper.getUnknownCmdError('Bad formatted parameters') except socket.error, e: msg = helper.getMonitorUnreachableError('Connection failed')