浮动等待达到某一条件
def wait_until_expect_redis_result(redis_key, interval=1, max_waittime=30, expect_result=‘exist‘,redis_ip=‘127.48.167.201‘,redis_port=9052):
"""
浮动等待redis队列为期待的结果
:param redis_key: 如cache:task:expirefile:expired-redis
:param interval:
:param max_waittime:
:param expect_result: exist/notexist
:return:
"""print u‘redis_ip:‘,redis_ip,u‘redis_port:‘,redis_port
wait_time = 0
flag = ‘‘
times = int(max_waittime/interval)
r = redis.Redis(host=redis_ip,port=redis_port,password=‘WCS_REDIS_!(0)‘)
print u‘redis_key: ‘,redis_key
print u"获取当前redis队列中是否存在指定队列:"for i in range(0, times):
redisQueue = r.keys(redis_key)
print i,redisQueue
if redisQueue == []:
flag = ‘notexist‘else:
flag = ‘exist‘if flag == expect_result:
print u‘nSuccess. 当前redis队列[%s],和期望的[%s]一致,等待总时长:%s‘ %(flag, expect_result, wait_time)
return redisQueue
time.sleep(interval)
wait_time = wait_time + interval
print u"nError. 当前redis队列[%s],和期望的[%s]不一致,已到达允许等待最大时长:%s" % (flag, expect_result, max_waittime)
raise AssertionError(u‘Fail.‘)
原文:https://www.cnblogs.com/channy14/p/14784909.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!