def _kv_store_client(): kvstore_sub_inst = kvstore_subscriber.KvStoreSubscriber( zmq.Context(), "tcp://localhost:5000" ) while True: resp = kvstore_sub_inst.listen() self.assertEqual(resp, publication)
def _run( self, client: OpenrCtrl.Client, delta: bool, ttl: bool, regex: str, duration: int, ) -> None: global_dbs = self.get_snapshot(client, delta) pattern = re.compile(regex) print("Subscribing to KvStore updates. Magic begins here ... \n") pub_client = kvstore_subscriber.KvStoreSubscriber( zmq.Context(), "tcp://[{}]:{}".format(self.host, self.kv_pub_port), timeout=1000, ) start_time = time.time() while True: # End loop if it is time! if duration > 0 and time.time() - start_time > duration: break # we do not want to timeout. keep listening for a change try: msg = pub_client.listen() self.print_expired_keys(msg, regex, pattern, global_dbs) self.print_delta(msg, regex, pattern, ttl, delta, global_dbs) except zmq.error.Again: pass
def run(self, delta, ttl, regex): global_dbs = self.get_snapshot(delta) pattern = re.compile(regex) pub_client = kvstore_subscriber.KvStoreSubscriber( zmq.Context(), "tcp://[{}]:{}".format(self.host, self.kv_pub_port)) while True: # we do not want to timeout. keep listening for a change msg = pub_client.listen() self.print_expired_keys(msg, regex, pattern, global_dbs) self.print_delta(msg, regex, pattern, ttl, delta, global_dbs)
def run(self, delta, ttl, regex, duration): global_dbs = self.get_snapshot(delta) pattern = re.compile(regex) pub_client = kvstore_subscriber.KvStoreSubscriber( zmq.Context(), "tcp://[{}]:{}".format(self.host, self.kv_pub_port), timeout=1000) start_time = time.time() while True: # End loop if it is time! if duration > 0 and time.time() - start_time > duration: break # we do not want to timeout. keep listening for a change try: msg = pub_client.listen() self.print_expired_keys(msg, regex, pattern, global_dbs) self.print_delta(msg, regex, pattern, ttl, delta, global_dbs) except zmq.error.Again: pass