def __init__(self, name, serv): super(MultiClass, self).__init__() self.name = name self.serv = serv self.worker_url = serv.url_worker_sock self.context = serv.context self.serializer = get_serializer(serv.serializer) self.socket = self.context.socket(zmq.REP) self.stop_flag = event_class() self._debug = self.serv._debug # Stats. self.op_counter = {} self.last_success = {} self.last_fail = {}
def __init__(self, server_url, timeout=10, serializer='msgpack'): """ Instantiate this class with a zmq url (eg 'tcp://127.0.0.1:5000') and a timeout (in seconds) for method calls. Then call zmqrpc server exported methods from the class. """ if not server_url: raise BadConfig("Server url is not defined.") if timeout < 0: raise BadConfig("Illegal timeout value.") self.context = zmq.Context() self.zmqsocket = self.context.socket(zmq.REQ) self.server_url = server_url self.zmqsocket.connect(self.server_url) self.serializer = get_serializer(serializer) self.pollin = zmq.Poller() self.pollin.register(self.zmqsocket, zmq.POLLIN) self.pollout = zmq.Poller() self.pollout.register(self.zmqsocket, zmq.POLLOUT) # In millis. self.timeout = timeout * 1000
def get_serializer(serializer_type): html_serializer = { 'html' : SerializerHtml } return serialize.get_serializer(serializer_type, html_serializer)