Vor einiger Zeit brauchte ich eine retry
-Funktion in R, um langsame Serverantwort zu verarbeiten. Die Funktion würde das folgende Verhalten: (versuchen, eine Aktion (Funktion oder Methode), und wenn es scheitert, ein bisschen warten und dann erneut versuchen) x10Retry-Funktion in Python
ich kam mit dem folgenden:
retry <- function(fun, max_trys = 10, init = 0){
suppressWarnings(tryCatch({
Sys.sleep(0.3);
if(init<max_trys) {fun}
}, error=function(e){retry(fun, max_trys, init = init+1)}))}
Es gut gearbeitet. Jetzt muss ich das gleiche in Python3, also versuchte ich den gleichen Code zu machen:
import time
def retry_fun(fun, max_trys = 10, init=0):
try:
time.sleep(0.3)
if(init<max_trys):
fun
except:
retry_fun(fun, max_trys, init = init+1)
Aber wenn ich es laufen, es stürzt mein Kernel. Da ich in Python ein wenig Anfänger bin, bin ich mir nicht sicher, was den Absturz verursacht und ob/wie eine Funktion als Argument in eine andere Funktion übergeben werden kann.
Können Sie mir helfen?
Sie können Funktionen als Argumente übergeben, aber Sie sollten es wie 'fun()' nennen. – Archimaredes