Contents
3.51. 检测函数执行是否超时¶
def wait_for_predicate(self, func, interval=1):
""" 检测predicate函数执行是否超时,默认90s """
timeout = 90
before = time.time()
while True:
if time.time() - before > timeout:
raise Exception("Predicate '%s' did not happen within timeout" % predicate)
result = None
try:
result = func()
except Exception as e:
logging.warn(e)
if result:
return result
time.sleep(interval)