A veces podemos encontrar problemas con nuestras peticiones HTTP no completándose de manera exitosa. Para resolver esto puede que nos interese que nuestro Flujo reintente la petición luego de cierta duración y cierto número de veces. En este caso lo que queremos es configurar una política de reintento en Power Automate, y el día de hoy veremos cómo hacerlo.
CONFIGURANDO POLÍTICA DE REINTENTO
Lo primero será localizar nuestro paso HTTP, tras lo cual vamos a ir a la parte de Ajustes.
Una vez que se abra el panel de Ajustes, iremos a la parte de abajo y buscaremos la parte de Retry Policy.
Como podremos notar, el tipo Default será el que aparece por defecto. Si lo expandimos, podremos seleccionar lo que debería ser el Tipo de Reintento. En este ejemplo lo he puesto como un intervalo Fijo para mantenerlo simple. En el tipo de intervalo Fijo he establecido que el número de reintentos sea 3 y la duración entre cada reintento sea de 30 segundos (representado en el formato ISO-8601).
El valor por defecto está configurado a cuatro reintentos en un intervalo exponencial (el tipo de incremento Exponencial es un poco confuso, así que lo dejaremos de momento).
Con esto, nuestra política está lista y el paso de petición HTTP hará tres intentos en intervalos de 30 segundos cada uno. Si queremos hacer una prueba con algunas peticiones HTTP, podemos usar solicitudes de prueba con esta página: https://httpstat.us/
«¿Y CÓMO FUNCIONA?»
Vamos a buscar Ejecuciones Fallidas para ver el resultado. Para esto, vamos a configurar nuestra consulta HTTP de la siguiente forma.
Primero abriremos una Ejecución Fallida en donde sepamos que una petición HTTP pudo haber fallado. Ahora buscaremos la petición HTTP donde configuramos la política y la expandiremos.
Tras expandirla podremos ver que hubo tres reintentos que fallaron debido a que no hubo conexión con el servidor (500).
También podremos revisar el lado derecho de la página donde dice que la duración total de estos intentos fue de un minuto con 30 segundos.
Si observamos las Ejecuciones de Flujo podremos encontrar que el Flujo intentó correr de forma consistente en un intervalo por el número de veces especificadas. Si combinamos esto con el manejo de los errores de servidor que hablamos en esta entrada, tendremos un resultado bastante favorable.
Cualquier duda nos leemos abajo.