一个用于轮询http端点的python库-包括电池!
httsleep的Python项目详细描述
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键具有值UNKNOWN和owner 键具有值Chris和函数 is_job_really_dying返回True
- 或状态代码为404
安装
pip install httsleep
测试
pip install -e . pip install -r test-requirements.txt py.test