浮动等待达到某一条件
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