Solución

@maiquez·hace 3dTypeScript
solution.tsTypeScript
def make_flaky(success_on: int):
    """Retorna una función que falla las primeras (success_on-1) veces."""
    attempts = [0]

    def flaky():
        attempts[0] += 1
        if attempts[0] < success_on:
            raise RuntimeError(f"Fallo en intento {attempts[0]}")
        return "ok"

    return flaky


def retry_call(f, max_attempts: int):
    # Intenta llamar a f() hasta max_attempts veces
    # Retorna el resultado si tiene éxito, o None si agota los intentos
    tries = 0

    for attempt in range(max_attempts):
        try:
            return f()
        except Exception as e:
            tries += 1
            if attempt == max_attempts:
                return None

def test_retry(success_on: int, max_attempts: int):
    f = make_flaky(success_on)
    return retry_call(f, max_attempts)
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.