Exemple #1
0
class SockClient(object):
    def __init__(self, worker_addr, keep_alive=True):
        self.keep_alive = keep_alive
        self.worker_addr = worker_addr
        if self.keep_alive:
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
            sock.connect(worker_addr)
            self.port = ObjPort(sock)
        else:
            self.port = None

    def shutdown(self):
        if self.port:
            self.port.close()

    def __getattr__(self, func):
        if not self.port:
            return partial(remote_call, self.worker_addr, func)

        def call(*args):
            st = self.port.write((func, args))
            if st:
                msg = self.port.read()
                if msg:
                    return msg

        return call
Exemple #2
0
class SockClient(object):
	def __init__(self, worker_addr):
		sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
		sock.connect(worker_addr)
		self.port = ObjPort(sock)

	def shutdown(self):
		self.port.close()

	def __getattr__(self, func):
		def call(*args):
			st = self.port.write((func, args))
			if st:
				msg = self.port.read()
				if msg:
					return msg
		return call
Exemple #3
0
class SockClient(object):
    def __init__(self, worker_addr):
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        sock.connect(worker_addr)
        self.port = ObjPort(sock)

    def shutdown(self):
        self.port.close()

    def __getattr__(self, func):
        def call(*args):
            st = self.port.write((func, args))
            if st:
                msg = self.port.read()
                if msg:
                    return msg

        return call