在python中编写轮询函数的更好方法

时间:2017-01-18 07:04:49

标签: python python-3.x python-2.x

我编写了一个轮询函数来检查reg_result变量的值为120秒。

reg_result = 0
while_timeout = time.time() + 120
while reg_result is not "REGISTERED" and time.time() < while_timeout:
    reg_result = LeshanObj.validate_reg_time(parameter_1)

还有其他更好的方法来编写轮询方法吗?

是否可以不使用while循环?

1 个答案:

答案 0 :(得分:6)

python Polling中有一个库(https://pypi.python.org/pypi/polling/0.3.0) 你可以用这个

from polling import TimeoutException, poll
try:
    poll(lambda: reg_result=='REGISTERED', timeout=120, step=1)
except TimeOutException as tee:
    print "Value was not registered"

希望它有所帮助。