Cómo salir del bucle (después de 24.226 intentos)

¿Te pasa que a veces le das miles de vueltas a algo y no consigues salir de ahí, automatista?

Pues a esta automatización que tengo en Airtable, le pasó esta semana. Y vaya gracia me hizo que saltara por los aires.

Te cuento:

La automatización es más simple que el mecanismo de un botijo, ya te lo digo. Se limita a vincular dos tablas a partir de una clave común. Lleva meses funcionando sin fallo hasta que, por un error de diseño, empezó a fallar. Bueno, digamos que fueron al menos un par de errores.

O tres

Error 1: estructura de datos

No había contemplado que en la tabla A pudieran entrar registros duplicados. De hecho, este aún no he detectado cómo ha podido ocurrir, sospecho que por un tema de duplicidades/idempotencia… pero eso es más complejo para contarlo hoy por aquí.

¿Cómo solucionarlo? Tenía que haber previsto un mecanismo de seguridad.

Error 2: diseño de la automatización

Unido a lo anterior, la automatización no contemplaba que pudiera ejecutarse dos veces para el mismo usuario.

Así que cada vez que se ejecutaba, buscaba registros para emparejar y al hacerlo, rompía otra pareja. Que, a su vez, volvía a entrar en la automatización… y vuelta a empezar. Se me había quedado un bucle infinito preciosísisisisissimo del que era imposible salir. ♻️♻️♻️♻️♻️♻️♻️♻️♻️.

¿Cómo solucionarlo? Fácil: había que marcar una condición de salida del bucle.

¿Bucle? ¿Condi…qué? Espera, que te cuento el tercer error y vamos a eso.

Error 3: ignorar las señales

Airtable me avisó. No una, sino dos veces. Que si me estaba acercando a mi límite de automatizaciones al mes, que si ten cuidado…

Y yo, que el lunes estuve dando una charla con +1.100 asistentes (🤯🤯🤯), pensé que el pico venía de ahí. Hasta que me llegó el tercer aviso (límite superado y automatizaciones paradas) y ya sí me preocupé… pero era un poco tarde.

La inocente automatización se ejecutó más de 20.000 veces en menos de 24h.

¿Cómo solucionarlo? Ampliar temporalmente el plan de Airtable y, obviamente, corregir el entuerto que había montado yo mismo.

(Por cierto, te doy la bienvenida fuertecito si eres de esos casi 300 nuevos automatistas que estáis por aquí hoy 👋👋👋👋👋👋).

Moraleja

Te enseño «mis vergüenzas» para que veas que aunque lleves años automatizando, te pueden ocurrir cosas así. Si estás empezando a automatizar o te has frustrado porque tu automatización no es perfecta: ES NORMAL.

Las automatizaciones, fallan, fallaron y fallarán. Lo que tenemos es que ser capaces de diseñar planes de contingencia y resolver las posibles incidencias.

En este caso era una automatización muy tonta, en un punto cero crítico de mis sistemas y para algo propio, no de clientes. Seguramente por eso bajé un poco la guardia y confié demasiado en el «camino feliz» sin prestar asunto a las posibles incidencias.

No hay drama. Nada que no se pudiera arreglar con 20$ y 2 minutos de trabajo.

Sobre bucles, fundamentos y condiciones de salida

Ya es casualidad que, precisamente esta semana, arranque bloque nuevo en los contenidos de Automatistas LVL2 hablando, precisamente, de bucles.

El nuevo bloque/curso/llámalo X en el que empezamos se llama «Fundamentos de programación para automatizar mejor» y hablo sobre esos conceptos que aprendí mientras estudiaba Ingeniería Informática, que apliqué durante años mientras programaba… y que ahora aplico (llámalo por intuición o experiencia) de manera constante en las automatizaciones.

Saber que un bucle es una serie de instrucciones que se repiten hasta que se cumpla una condición establecida, que existen distintos tipos (for, while,do-while…) y que cada uno de ellos se implementa de manera diferente en Make y es útil para resolver problemas distintos.

O que, precisamente, para evitar entrar en esos bucle infinitos la clave está en ser capaces de pensar y aplicar correctamente esa condición de salida.

Porque al final, este tipo de errores (y te diría que muchísimos de los que veo a diario) no son un problema de herramientas. Son un problema de fundamentos, de primeros principios, de entender cómo funciona el mecanismo.

Que ocurran fallos, es lícito. Pero saber solucionarlos no va (solo) de saber usar Airtable o Make, sino de pensar en sistemas y aplicar los patrones de diseño adecuados.

Pero vaya liada, automatista 😂

Saludos🫡
Santy.

PD: cuéntame tu última liada automatizando, que así hacemos piña 🤗

¿Tu primera vez por aquí?

Cada jueves envío un e-mail con un consejo accionable para mejorar tu relación con el tiempo y que puedas dedicárselo a lo que realmente importa.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *

Estás a punto de reservar tu plaza...

📩 ¿A qué e-mail te mando el acceso al curso?

Resumen de privacidad

Como la mayoría de sitios web, utilizamos cookies propias y de terceros para fines analíticos y para mostrarte publicidad personalizada o a partir de tus hábitos de navegación.
Por lo general, la información no lo identifica directamente, pero puede proporcionarte una experiencia web más personalizada. Ya que respetamos tu derecho a la privacidad, puedes escoger no permitirnos usar ciertas cookies. Sin embargo, el bloqueo de algunos tipos de cookies puede afectar tu experiencia en el sitio y los servicios que podemos ofrecer.
Para más información, puedes leer nuestra política de cookies.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Cookies analíticas

Estas cookies nos permiten contar las visitas y fuentes de circulación para poder medir y mejorar el desempeño de nuestro sitio. Nos ayudan a saber qué páginas son las más o menos populares, y ver cuántas personas visitan el sitio. Toda la información que recogen estas cookies es agregada y, por lo tanto, anónima.