Python:如何对函数使用retry(),它应该重试,直到该函数返回True
我正在尝试使用“重试”,但它不重试Python:如何对函数使用retry(),它应该重试,直到该函数返回True,python,Python,我正在尝试使用“重试”,但它不重试 retry(stop_max_attempt_number=8, wait_fixed=15000)(check_type(var1,type)) 检查类型:此函数将返回true或false。 它应该重试,直到该函数返回true。 请帮助解决此问题。我猜您是在询问重试软件包中的重试功能retry()将在函数引发异常或断言失败时重试函数,因此您可以将函数包装到另一个函数中,如下所示: def wrap_function(var1, type):
retry(stop_max_attempt_number=8,
wait_fixed=15000)(check_type(var1,type))
检查类型:此函数将返回true或false。
它应该重试,直到该函数返回true。
请帮助解决此问题。我猜您是在询问
重试
软件包中的重试
功能retry()
将在函数引发异常或断言失败时重试函数,因此您可以将函数包装到另一个函数中,如下所示:
def wrap_function(var1, type):
return_value = check_type(var1, type)
assert return_value is True
caller = retry(stop_max_attempt_number=8, wait_fixed=15000)(
wrap_function)
caller(var1, type)
还要注意,
retry()
必须接收要执行的函数,并且它返回一个您可以调用的函数。因此,当您将函数传递到retry()
(否则将传递True
或False
)时,必须删除括号和参数,并且必须保存返回的函数以便稍后调用(我在示例中使用了变量caller
。请提供更多详细信息。你在使用哪个模块?发生了什么事情对你不起作用?重试是您自己的功能吗?在哪里定义了retry
?我可以想象它返回一个函数,该函数将函数及其参数作为单独的参数:retry(…)(check_type,var1,type)
。