コード例 #1
0
    def register(self, service: str, url: URL) -> None:
        n_key = self._node_key(service, url.get_param("node"))
        value = "{}:{}".format(url.host, url.port)
        ttl = self.url.get_param("ttl", 10)

        logger.info(f"register key: {n_key} value: {value}")

        self.heartbeat(n_key, value, ttl=ttl)
コード例 #2
0
 def registry_factory(self, url: URL) -> Client:
     address = url.get_param("address")
     if address:
         return etcd.Client(
             allow_reconnect=True,
             host=tuple([str_to_host(add) for add in address.split(",")]),
         )
     return etcd.Client(host=url.host, port=url.port)
コード例 #3
0
ファイル: test_registry.py プロジェクト: zhu327/doge
    def test_deregister(self, registry):
        service = "test"
        url = URL("locahost", 80, params={"node": "n1"})

        registry.register(service, url)
        registry.deregister(service, url)
        res = registry.discovery(service)
        key = registry._node_key(service, url.get_param("node"))
        assert key not in res
コード例 #4
0
ファイル: test_registry.py プロジェクト: wangjianze/doge-rpc
    def test_deregister(self, registry):
        service = 'test'
        url = URL('locahost', 80, params={"node": 'n1'})

        registry.register(service, url)
        registry.deregister(service, url)
        res = registry.discovery(service)
        key = registry._node_key(service, url.get_param("node"))
        assert not key in res
コード例 #5
0
ファイル: test_registry.py プロジェクト: zhu327/doge
    def test_register(self, registry):
        service = "test"
        url = URL("locahost", 80, params={"node": "n1"})

        self.registry = registry
        self.args = [service, url]

        registry.register(service, url)
        res = registry.discovery(service)
        key = registry._node_key(service, url.get_param("node"))
        assert key in res
        assert res[key] == ":".join((url.host, str(url.port)))
コード例 #6
0
ファイル: test_registry.py プロジェクト: zhu327/doge
    def test_zaddress(self):
        service = "test"
        url = URL("locahost", 80, params={"node": "n1"})

        rurl = URL(None, None, params={"ttl": 10, "address": "127.0.0.1:2379"})

        registry = EtcdRegistry(rurl)
        self.registry = registry
        self.args = [service, url]

        registry.register(service, url)
        res = registry.discovery(service)
        key = registry._node_key(service, url.get_param("node"))
        assert key in res
        assert res[key] == ":".join((url.host, str(url.port)))
コード例 #7
0
    def deregister(self, service: str, url: URL) -> None:
        n_key = self._node_key(service, url.get_param("node"))

        logger.debug(f"deregister key: {n_key}")

        self.etcd.delete(n_key)