‹ Cultura 3.14 · Qué nos preguntamos
Pregunta · Operaciones
¿Qué significa que un bot ha terminado una tarea?
Terminar la ejecución y producir el efecto esperado son dos hechos distintos, y solo uno de ellos suele registrarse.
Por qué importa
Un proceso puede completar todos sus pasos, devolver un estado correcto y no haber cambiado nada en el sistema de destino. La API respondió, el registro existe, y el efecto de negocio no ocurrió.
Esta diferencia se paga siempre más tarde y siempre más cara, porque para entonces hay decenas de ejecuciones marcadas como correctas.
Qué sabemos hasta ahora
Distinguir tres estados —ejecutado, confirmado y observado— ha resultado más útil que afinar los reintentos. La confirmación necesita una lectura posterior contra la fuente, y la observación necesita una señal que a menudo hay que crear a propósito.
Cuando esa señal no existe, preferimos decirlo en la traza antes que marcar la tarea como terminada.
Qué continúa abierto
Queda abierto qué hacer cuando la señal de observación llega días después, con el proceso ya cerrado y quien lo lanzó pensando en otra cosa.
Y cómo representar una tarea parcialmente efectiva sin convertir cada estado en una excepción.