얼마 전에 느린 서버 응답을 처리하기 위해 R에서 retry
함수가 필요했습니다. 이 함수는 다음과 같은 동작 것이다 : 나는 함께했다파이썬에서 재시도 기능
10 배 (동작 (함수 또는 메소드)을 시도, 그리고 실패하면, 조금 기다린 후 다시 시도) 다음
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)}))}
그것을 잘 작동했다. 지금은 Python3에서 동일한 필요, 그래서 같은 코드를 만들려고 :
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)
을하지만 그것을 실행할 때, 내 커널 충돌입니다. 필자는 파이썬에서 초보자이기 때문에 충돌을 일으키는 원인이 무엇인지, 함수가 다른 함수에 인수로 전달 될 수 있는지 여부는 확실하지 않습니다.
나를 도와 줄 수 있습니까? 그렇다 기능을 전달하고 이름 (전화를 호출하는 파이썬의 구문) 후 ()
을 추가하여 사용할 수있는에서
함수를 인수로 전달할 수 있지만'fun()'와 같이 호출해야합니다. – Archimaredes