Tarea
📝 **Pregunta:** Implemente `CircuitBreaker`. fail_max=2, recuperación=10. 2 falla → se abre. Llamar mientras está abierto → RuntimeError. Después de 10s → half_open; éxito → cerrado. Imprimir resultados para: 2 llamadas fallidas, 1 intento mientras está abierto, tiempo adelantado, 1 llamada exitosa.
📋 Elige la respuesta correcta.
💡 **Pista:** Vuelve a leer la teoría anterior si no estás seguro.