一个用于轮询http端点的python库-包括电池!

httsleep的Python项目详细描述


Build Status

Coverage Status

httsleep是一个强大的python轮询库。

想法

设置你的成功条件,设置一些警报,并获得投票!

until = {
    'status_code': 200,
    'jsonpath': [{'expression': 'status', 'value': 'OK'}]
}
alarms = [
    {'json': {'status': 'ERROR'}},
    {'jsonpath': [{'expression': 'status', 'value': 'UNKNOWN'},
                  {'expression': 'owner', 'value': 'Chris'}],
    'callback': is_job_really_failing},
    {'status_code': 404}
]
try:
   response = httsleep(
       'http://myendpoint/jobs/1', until, alarms=alarms,
       max_retries=20)
except Alarm as e:
    print "Response was:", e.response
    print "Alarm condition that matched was:", e.alarm

翻译成英文,意思是:

  • 投票http://myendpoint/jobs/1–最多20次–直到
    • 它返回状态代码200
    • 并且其响应中的status键具有值OK
  • 但如果
    • status键的值为ERROR
    • 或者status键具有值UNKNOWNowner 键具有值Chris和函数 is_job_really_dying返回True
    • 或状态代码为404

安装

pip install httsleep

测试

pip install -e .
pip install -r test-requirements.txt
py.test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring使用XML配置重试DAO调用   javasocket编程:消息传递顺序   Java ArrayList从两个列表中删除重复项   java在安卓中每次从数组中获取唯一的编号   java为什么collect方法中的双消费者组合器代码永远无法到达?   java类型实例化和声明在同一行   如何在Java应用程序中获取映射网络驱动器的UNC路径   Javascript(GraalJS)与Java中未签名的右移>>>>   xml Java SAX ContentHandler为每个根节点创建新对象   模拟类的java问题   JavaWebapplet可以和离线applet做同样的事情吗?   在Java中设置Windows系统路径   如何导入jwt。io Java库到JMeter   java Simple Kafka消费者未接收消息   带有GoogleAPI错误的Java Jsoup:状态503   java是否可以通过google plus SignIn检索用户信息而不包括google脚本   Java3D洪水填充