自动化通过rcp client调用远端服务接口时,都需要将远端测试服务ip、端口记录在配置文件。

但由于,服务发布或重启会导致ip、端口变动。

以下将通过python-consul 自动去读取consul配置,获取相应服务的ip、port

 import consul
#connect consul
c = consul.Consul(host='10.1.x.x',port=8500,scheme='http')
data = c.catalog.service('xxxxme.srv.account')
for value in data[1]:
print("accountSrv addr: " + value['ServiceAddress'],value['ServicePort'])

输出结果如下:

参考文档:http://python-consul.readthedocs.io/en/latest/

将上述代码封装,并使用unittest调用时,返回如下警告:

C:\python3.6\lib\collections\__init__.py:431: ResourceWarning: unclosed <socket.socket fd=864, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('10.100.x.x', 37321), raddr=('10.1.x.x', 8500)>
exec(class_definition, namespace)
C:\python3.6\lib\site-packages\urllib3\util\timeout.py:94: ResourceWarning: unclosed <socket.socket fd=900, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('10.100.x.x', 37320), raddr=('10.1.x.x', 8500)>
self._connect = self._validate_timeout(connect, 'connect')

查了一番资料,可以通过warnings库来忽略掉相关告警。

import warnings
warnings.simplefilter("ignore", ResourceWarning)

python 读取consul配置的更多相关文章

  1. Python微服务实践-集成Consul配置中心

    A litmus test for whether an app has all config correctly factored out of the code is whether the co ...

  2. Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  3. Python读取SQLite文件数据

    近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性.并发性要求不高的场景下可以尝试! 1.SQLite简介: SQLite是一个进程内 ...

  4. python常用模块-配置文档模块(configparser)

    python常用模块-配置文档模块(configparser) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. ConfigParser模块用于生成和修改常见配置文档,当前模块的名称 ...

  5. Python 读取写入配置文件 ConfigParser

    https://blog.csdn.net/piaodexin/article/details/77371343 https://www.cnblogs.com/feeland/p/4502931.h ...

  6. Python Fabric ssh 配置解读

    Python Fabric ssh 配置解读 Fabric 2.4简介: Fabric is a high level Python (2.7, 3.4+) library designed to e ...

  7. python读取yaml文件,在unittest中使用

    python读取yaml文件使用,有两种方式: 1.使用ddt读取 2,使用方法读取ddt的内容,在使用方法中进行调用 1.使用ddt读取 @ddt.ddt class loginTestPage(u ...

  8. python读取hdfs上的parquet文件方式

    在使用python做大数据和机器学习处理过程中,首先需要读取hdfs数据,对于常用格式数据一般比较容易读取,parquet略微特殊.从hdfs上使用python获取parquet格式数据的方法(当然也 ...

  9. 使用Viper读取Nacos配置(开源)

    使用Viper读取Nacos配置(开源) 一.前言 目前Viper支持的Remote远程读取配置如 etcd, consul:目前还没有对Nacos进行支持,本文中将开源一个Nacos的Viper支持 ...

随机推荐

  1. maven中import scope依赖方式解决单继承问题的理解

    在maven多模块项目中,为了保持模块间依赖的统一,常规做法是在parent model中,使用dependencyManagement预定义所有模块需要用到的dependency(依赖) <d ...

  2. JAVAWEB开发中过滤器的概述及使用

    1.什么是过滤器? 过滤器是向WEB应用程序的请求和响应添加功能的WEB服务组件 2.过滤器的作用 1)可以统一的集中处理请求和响应 2)可以实现对请求数据的过滤 3.过滤器的工作方式 4.使用场合 ...

  3. centos 7 ifconfig 命令找不到

    最近在配置linux 环境: 在官网看到centOS除了最新版本7,那就尝试一下吧.最小安装centOS 7之后发现没有ifconfig命令,在网上找了一下都说是路径的路问题. 我用echo $PAT ...

  4. DB - RDMS - MySQL优化

    慢SQL会消耗打来难过的数据库CPU资源,特别是频繁执行的慢SQL语句,会造成大量任务的堆积,CPU瞬间增大.

  5. CodeMirror的使用方法

    最近项目中用到了CodeMirror这个代码编辑器,感觉非常好用,可以设置很多种代码格式.默认前提是你已经正确引入了所有的js文件和css文件. 下面是我在项目中用到过和在网上搜集整理的使用方法: 1 ...

  6. POJ:3421-X-factor Chains(因式分解)(全排列)

    X-factor Chains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7986 Accepted: 2546 Descr ...

  7. CF797E. Array Queries

    a is an array of n positive integers, all of which are not greater than n. You have to process q que ...

  8. 笔记-select,poll,epoll

    笔记-select,poll,epoll 1.      I/O多路复用 I/O多路复用是指:通过一种机制或一个进程,可以监视多个文件描述符,一旦描述符就绪(写或读),能够通知程序进行相应的读写操作. ...

  9. talent-aio源码阅读小记(一)

    近来在oschina上看到一个很火的java 即时通讯项目talent-aio,恰巧想了解一下这方面的东西,就阅读了一下项目的源码,这里对自己阅读源码后的一些心得体会做一下备忘,也希望能够对其他项目中 ...

  10. [学习笔记]CSS选择器

    CSS语法结构 selector {     property1 : value;     property2 : value; } 如果包含多个属性,那么属性每个属性的结尾需要有一个分号.如果属性的 ...