Mi pipeline de datos se cayó y estuve semanas sin datos


Video explicativo

Esta es una historia real. No es un tutorial: es lo que pasa cuando un pipeline que funciona perfecto durante meses se encuentra con el caso que nunca consideraste.

1. El contexto: un pipeline que alimentaba mi dashboard

Tengo un pipeline de datos que alimenta uno de mis dashboards personales con las métricas de mi canal de YouTube. Cada lunes se actualizaban los datos automáticamente, sin intervención. Funcionaba con una premisa implícita: el canal siempre tiene videos y playlists.

2. El detonante: reorganizar las playlists del canal

El 13 de mayo decidí reorganizar mi canal con las nuevas playlists temáticas que había definido en mi sistema de conocimiento. Para hacerlo, borré todas las playlists existentes (solo las playlists, no los videos) y creé las nuevas.

Lo que no sabía: la API de YouTube no devuelve una playlist hasta que tiene al menos un video dentro. Al día siguiente, para la API, mi canal tenía cero playlists.

3. El error: la casuística de cero playlists

El script del pipeline recorría la lista de playlists del canal. Nunca contempló que esa lista pudiera llegar vacía — y con cero playlists, el script arrojaba error y el pipeline completo se caía. Resultado: el dashboard dejó de recibir datos.

4. La "solución" que no fue solución

El error se resolvió solo en cuanto añadí un video a una playlist nueva: la API volvió a devolver playlists y el pipeline retomó su ciclo. Pero el daño ya estaba hecho — estuve varias semanas sin datos en el dashboard.

5. La lección: diseña para la lista vacía

  1. Todo pipeline tiene premisas implícitas — hazlas explícitas y pregúntate qué pasa si cada fuente llega vacía.
  2. Una lista vacía no es un caso raro: es un estado normal que tu código debe manejar sin caerse.
  3. Un cambio manual "inofensivo" (reorganizar playlists) puede romper un proceso automatizado que depende de ese estado.
  4. Si el pipeline se cae en silencio, el costo no es el error — son las semanas de datos que no vuelven.