{"id":40,"date":"2026-09-05T22:41:53","date_gmt":"2026-09-05T22:41:53","guid":{"rendered":"https:\/\/automationmatrixpro.com\/automations-that-exited-zero-and-did-nothing\/"},"modified":"2026-09-06T12:53:36","modified_gmt":"2026-09-06T02:53:36","slug":"automations-that-exited-zero-and-did-nothing","status":"publish","type":"post","link":"https:\/\/automationmatrixpro.com\/es\/automations-that-exited-zero-and-did-nothing\/","title":{"rendered":"Cuatro automatizaciones que salieron con valor cero y no hicieron nada."},"content":{"rendered":"<p>En un solo d\u00eda, detectamos cuatro interrupciones distintas en las automatizaciones que hab\u00edamos creado. Tres de ellas finalizaron correctamente. Los scripts se ejecutaron, devolvieron cero y no hicieron absolutamente nada. Todos los paneles de control estaban en verde.<\/p>\n<p>Ese es el modo de fallo que nadie demuestra, contra el que nadie vende y que casi nadie monitoriza. Adem\u00e1s, es el que m\u00e1s cuesta, porque no se trata de una tarde de apagar un incendio, sino de tres meses de un trabajo que cre\u00edas que se estaba realizando.<\/p>\n<h2>Cuatro maneras de fracasar al informar de un \u00e9xito<\/h2>\n<h3>El token de acceso ha caducado.<\/h3>\n<p>Se ejecut\u00f3 una tarea de publicaci\u00f3n en redes sociales cuarenta y seis veces con credenciales caducadas. Cada ejecuci\u00f3n comenz\u00f3, no encontr\u00f3 nada que pudiera hacer y finaliz\u00f3. La plataforma devolvi\u00f3 un error de autenticaci\u00f3n, la tarea lo detect\u00f3, lo registr\u00f3 en el nivel de depuraci\u00f3n y sali\u00f3 con c\u00f3digo de salida cero porque, desde su perspectiva, hab\u00eda finalizado.<\/p>\n<p>Cuarenta y seis publicaciones que nunca existieron. Nadie se dio cuenta durante semanas.<\/p>\n<h3>Un control de calidad rechaz\u00f3 el trabajo y no se volvi\u00f3 a intentar.<\/h3>\n<p>Un redactor elabor\u00f3 un borrador, un proceso de verificaci\u00f3n lo rechaz\u00f3, y el flujo de trabajo descart\u00f3 el borrador y finaliz\u00f3. El planificador marc\u00f3 la tarea como completada, lo cual era cierto. No se puso ning\u00fan art\u00edculo en cola, no se activ\u00f3 ninguna alerta, y la siguiente ejecuci\u00f3n comenz\u00f3 desde cero e hizo lo mismo.<\/p>\n<p>Una semana de producci\u00f3n se esfum\u00f3 en una ruta de c\u00f3digo que, estrictamente hablando, funcionaba.<\/p>\n<h3>Un b\u00fafer que nunca podr\u00eda reabastecerse.<\/h3>\n<p>Una cola de contenido generaba un elemento por ejecuci\u00f3n y consum\u00eda uno por ejecuci\u00f3n. En teor\u00eda, esto representa un estado estable. En la pr\u00e1ctica, cualquier generaci\u00f3n fallida supone una p\u00e9rdida permanente, ya que no hay margen para recuperarla. El b\u00fafer siempre se descargaba.<\/p>\n<p>Eso es un trinquete, no un amortiguador, y parece estar en perfecto estado hasta el d\u00eda en que llegue a cero.<\/p>\n<h3>Un env\u00edo parcial que parec\u00eda completo.<\/h3>\n<p>Un bolet\u00edn informativo lleg\u00f3 a aproximadamente una quinta parte de su lista. La funci\u00f3n de env\u00edo devolvi\u00f3 un resultado exitoso, ya que se hab\u00eda enviado correctamente el primer lote. No se compar\u00f3 el n\u00famero de destinatarios intentados con el tama\u00f1o de la lista.<\/p>\n<p>Desde dentro del sistema, un env\u00edo parcial y un env\u00edo completo son id\u00e9nticos. La \u00fanica forma de distinguirlos es cont\u00e1ndolos.<\/p>\n<h2>Por qu\u00e9 los c\u00f3digos de salida no son lo que uno debe ver<\/h2>\n<p>Un c\u00f3digo de salida responde a una pregunta: \u00bfel proceso lleg\u00f3 a su fin sin fallar? Esa no es la pregunta que te interesa. Lo que te interesa es si sucedi\u00f3 lo que quer\u00edas.<\/p>\n<p>Estas dos cuestiones se contraponen constantemente, porque un c\u00f3digo bien escrito detecta sus errores. Cuanto mejor sea el manejo de errores, m\u00e1s probable ser\u00e1 que una ejecuci\u00f3n fallida finalice correctamente. La programaci\u00f3n defensiva y el fallo silencioso son el mismo comportamiento visto desde dos perspectivas distintas.<\/p>\n<blockquote>\n<p>Un sistema de monitorizaci\u00f3n que solo pregunta si se ha ejecutado una tarea te dir\u00e1 que tu negocio va bien hasta el momento en que un cliente te diga que no.<\/p>\n<\/blockquote>\n<h2>Qu\u00e9 comprobar en su lugar<\/h2>\n<p>Cada uno de los cuatro fallos mencionados anteriormente se detecta mediante una verificaci\u00f3n del resultado, no del proceso. Ninguno de ellos es complicado.<\/p>\n<ul>\n<li><strong>\u00bfApareci\u00f3 el artefacto?<\/strong> Tras una publicaci\u00f3n, consulta el destino y confirma que la entrada existe. No el registro. El destino.<\/li>\n<li><strong>\u00bfLa cola es m\u00e1s larga que una persona?<\/strong> Realiza un seguimiento de la profundidad a lo largo del tiempo, no de la presencia. Una cola que nunca crece est\u00e1 fallando incluso cuando no est\u00e1 vac\u00eda.<\/li>\n<li><strong>\u00bfCu\u00e1nto tiempo falta para que caduque esta credencial?<\/strong> Cada token tiene una fecha l\u00edmite. Se activar\u00e1 una alerta antes de que expire, se actualizar\u00e1 la p\u00e1gina con antelaci\u00f3n y se activar\u00e1 una alerta si la actualizaci\u00f3n falla.<\/li>\n<li><strong>\u00bfLleg\u00f3 a todos?<\/strong> Compara los destinatarios intentados con el tama\u00f1o de la audiencia. Cualquier discrepancia se considera un fallo, independientemente del resultado de la funci\u00f3n de env\u00edo.<\/li>\n<li><strong>\u00bfCu\u00e1ndo tuvo \u00e9xito esto por \u00faltima vez?<\/strong> No es la \u00faltima ejecuci\u00f3n. Es el \u00faltimo \u00e9xito, definido como un resultado que se puede ver desde fuera del sistema.<\/li>\n<\/ul>\n<h2>Una tabla, no cinco<\/h2>\n<p>La otra mitad de esto es donde van las respuestas. Cinco automatizaciones que env\u00edan informes a cinco lugares son, en la pr\u00e1ctica, lo mismo que no tener ning\u00fan tipo de monitoreo, porque nadie revisa cinco lugares todas las ma\u00f1anas.<\/p>\n<p>Ahora, todo lo que creamos se reporta a un \u00fanico panel de estado con una fila por automatizaci\u00f3n, que muestra el \u00faltimo resultado verificado y su antig\u00fcedad. Si todas las filas est\u00e1n actualizadas, no hay nada que atender. Si una fila se vuelve obsoleta, eso es lo \u00fanico que debe revisarse.<\/p>\n<p>Es un artefacto deliberadamente aburrido. El aburrimiento es precisamente la clave. Su valor reside en que comprobarlo solo lleva cuatro segundos, lo que significa que realmente se comprueba.<\/p>\n<h2>La parte inc\u00f3moda<\/h2>\n<p>Si actualmente tienes un sistema automatizado en funcionamiento que no has verificado externamente en el \u00faltimo mes, la verdad es que no sabes si est\u00e1 funcionando. Sabes que no ha fallado.<\/p>\n<p>Son afirmaciones muy diferentes, y solo una de ellas tiene alg\u00fan valor.<\/p>","protected":false},"excerpt":{"rendered":"<p>Tres de las cuatro interrupciones detectadas en un solo d\u00eda reportaron \u00e9xito. Por qu\u00e9 los c\u00f3digos de salida no son el indicador adecuado para monitorear, y las cinco comprobaciones de resultados que detectan lo que se les escapa.<\/p>","protected":false},"author":1,"featured_media":33,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-40","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-monitoring"],"_links":{"self":[{"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/posts\/40","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/comments?post=40"}],"version-history":[{"count":0,"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/posts\/40\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/media\/33"}],"wp:attachment":[{"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/media?parent=40"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/categories?post=40"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/automationmatrixpro.com\/es\/wp-json\/wp\/v2\/tags?post=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}