Caso de estudio
Por qué su herramienta marca como atascado un trabajo largo que sigue en marcha
Dos veces en una semana una plataforma de video le dijo a un equipo que un anuncio se había detenido cuando todavía se estaba haciendo. La solución fue preguntarle al paso que tenía el trabajo antes de darlo por perdido, en lugar de decidir con un reloj.
Puntos clave
- Una advertencia de atascado basada solo en el tiempo transcurrido se equivocará en los trabajos más largos y más encolados.
- Pregunte si la herramienta consulta al paso que tiene el trabajo antes de darlo por perdido.
- Un reinicio puede sumar otra vez el tiempo de espera, y el resultado terminado del intento anterior puede descartarse.
- Una fila llena puede parecer una fila rota, sobre todo en días ocupados.
- Cuando se corrige un paso, pregunte si los otros pasos que manejan trabajo largo deciden de la misma manera.
Un trabajo marcado como atascado pero que sigue en marcha es peor que uno que de verdad se detuvo, porque la respuesta obvia es volver a empezarlo. Dos veces en una semana la plataforma de video de un cliente le dijo al equipo que un anuncio se había detenido cuando todavía se estaba haciendo. Las dos fallas se encontraron y se corrigieron rápido: una se rastreó al día siguiente de aparecer y la otra el mismo día.
Por qué un trabajo marcado como atascado pero que sigue en marcha le cuesta a un negocio
El costo de una falsa advertencia de atascado se paga dos veces en tiempo de espera. La persona que maneja el trabajo hace lo sensato y lo vuelve a empezar, así que el negocio espera el segundo intento mientras el anterior todavía está trabajando. En un día ocupado, un reinicio también ocupa un lugar en la fila, y un trabajo cerrado que sigue en marcha conserva ese lugar sin hacer nada útil, así que el trabajo que viene detrás espera un espacio que no se va a liberar. Después de una o dos falsas alarmas, la gente deja de confiar en las advertencias que sí son reales, y una falla verdadera puede pasar desapercibida.
Lo que vio el equipo: dos falsas alarmas en una semana
La primera advertencia llegó con un anuncio inusualmente largo, de casi veinte minutos, cuyo último paso dibuja cada cuadro en el video terminado. Ese paso estuvo corriendo más de tres horas. A las dos horas y media, la plataforma dijo que el video se había detenido. La persona que lo manejaba volvió a empezar el anuncio. El segundo intento tardó más de dos horas; el anterior terminó después de todo, y su video se descartó por ser un intento desactualizado. El anuncio llegó al equipo cerca de una hora y media más tarde de lo que habría llegado sin la advertencia.
Dos días después llegó la misma clase de falsa alarma en otro paso, donde se hacen los clips del presentador. Un anuncio esperó ahí durante la mayor parte de un día laboral antes de que la plataforma lo cerrara como perdido. Los clips de ese anuncio seguían en fila para hacerse, ahora para nadie. El anuncio que venía detrás quedó detenido, porque la fila todavía contaba el cerrado como en marcha. Y el equipo no pudo volver a empezar el anuncio cerrado durante el resto del día, porque el paso todavía lo tenía listado como en curso.
Lo que encontró nuestro ingeniero: un reloj decidiendo en lugar del trabajo
La advertencia venía del reloj, no del paso que decía haber perdido el trabajo. Una regla miraba solo el tiempo transcurrido: si nada había tocado el video durante dos horas y media, se daba por perdido. Existía una protección que debía haber mantenido vivo un trabajo largo mientras el paso que lo dibujaba estaba ocupado. Nuestro ingeniero encontró cuándo corría esa protección: solo mientras otros videos esperaban en la fila detrás. Esa tarde no había nada más esperando, así que nunca corrió, y la regla del reloj se disparó sobre un trabajo que estaba casi terminado.
El segundo caso tenía la misma raíz. El límite de tiempo del paso del presentador se había calculado a partir de lo que tarda un anuncio cuando el servicio que hace los clips tiene capacidad. Esa semana su capacidad estaba agotada y cada clip esperaba su turno, así que el paso tardó muchas veces más que el cálculo. El reloj decía perdido; el paso mismo todavía tenía el anuncio en sus manos y lo mantenía ahí, y por eso la fila se comportaba como si el anuncio estuviera en marcha.
Lo que cambiamos
Hicimos que los dos pasos informen lo que tienen y que la plataforma pregunte antes de darse por vencida con un anuncio. El paso de dibujo ahora dice, desde el momento en que toma un video hasta que devuelve el archivo terminado, si el video está esperando su turno o se está dibujando, y cuánto ha avanzado. Cada minuto la plataforma revisa cualquier video que haya estado quieto unos diez minutos y pregunta. Si el video está en manos de un paso, sin importar cuánto tarde, se marca como vivo, así que la pantalla del equipo no lo llama detenido. Si nada lo tiene y sigue quieto un momento después, se marca como perdido de inmediato con una razón clara, y se puede volver a empezar en el acto.
En el paso del presentador, cuando el tiempo de quietud pasa su límite, la plataforma le pregunta al paso si el anuncio sigue entre sus trabajos. Mientras lo esté, el anuncio está esperando en fila, no perdido, y sigue abierto, así que no se hacen clips para nadie y la fila no cuenta un trabajo cerrado como en marcha. Donde un paso no puede responder, la regla anterior sigue aplicándose, así que nada queda sin red de seguridad, y una lectura faltante de qué tan ocupado está un paso ahora aparece como desconocida, nunca como inactiva.
Lo que el negocio tiene ahora
Los dos cambios están activos en la plataforma del cliente. Un video largo ya no se llama atascado mientras se sigue dibujando, y uno que de verdad se perdió se reporta como perdido en minutos en lugar de después de una larga espera. Un anuncio que espera los clips de su presentador en un día ocupado sigue abierto hasta que esos clips se hacen, así que el equipo no pierde el anuncio, su lugar en la fila ni el resto del día por una falsa alarma. Desde el momento en que el paso de dibujo toma un video largo, la pantalla del equipo muestra que el video está en manos de un paso y si está esperando su turno o se está dibujando, así que un silencio en pantalla ya no parece una detención.
Lo que usted mismo puede revisar
- Cuando una advertencia dice que un trabajo se detuvo, busque señales de que todavía espera su turno: un estado en cola, un paso que todavía lo lista o un avance que se movió hace poco.
- Pregunte a quien cuida la herramienta en qué se basa la advertencia: un límite de tiempo fijo o una respuesta directa del paso que hace el trabajo.
- Revise si un paso que tomó un trabajo le dice al resto del sistema que lo tiene, o si se queda callado hasta que termina.
- Mire un trabajo cerrado como perdido: ¿sus tareas pendientes siguen en cola y el trabajo que viene detrás está detenido?
- Compare las advertencias de atascado en un día ocupado con uno tranquilo; una fila llena puede parecer una fila rota.
Qué hacer ahora
Si una advertencia de atascado ya llevó a un reinicio, guarde el historial de los dos intentos antes de que alguien lo borre, para que pueda ver cuál terminó y cuándo. Pregunte a su desarrollador o al soporte de la herramienta si la advertencia viene solo de un límite de tiempo, y si se le pregunta al paso que hace el trabajo antes de dar su trabajo por perdido. Luego haga la misma pregunta a cada paso que maneja trabajo largo. Rastrear una advertencia hasta la regla que está detrás, y cambiar la regla para que pregunte antes de darse por vencida, es la clase de trabajo que nuestros ingenieros hacen para los clientes.
Preguntas frecuentes
¿Por qué mi herramienta de video dice que un trabajo está atascado cuando todavía se está procesando?
A menudo porque el software juzga el silencio en lugar de preguntarle al paso que tiene el trabajo. Un paso de dibujo largo, o uno que espera capacidad, puede no reportar nada durante un rato, y entonces un límite de tiempo lo da por perdido. El trabajo puede seguir en marcha aunque la pantalla haya dejado de cambiar.
¿Debo reiniciar un trabajo en cuanto mi software dice que se detuvo?
No de inmediato. Primero vea si el trabajo está en cola, en manos de un paso o si de verdad falló. Empezar un segundo intento puede sumar otra vez el mismo tiempo de espera, y el resultado del intento anterior puede descartarse como desactualizado cuando llegue. Reinicie cuando la herramienta dé una razón clara de que el trabajo se perdió.
¿Por qué se ven más trabajos atascados en mis días más ocupados?
Los días ocupados llenan la fila, así que cada paso espera más de lo que esperaría en un día tranquilo, y un límite de tiempo calculado en un día tranquilo se dispara con trabajos que todavía avanzan despacio. Una fila puede parecer rota cuando solo está llena.
¿En qué debería basarse una advertencia de atascado?
En una respuesta directa del paso que tiene el trabajo, más que en un límite de tiempo fijo por sí solo. La herramienta debería preguntar si el paso todavía tiene el trabajo antes de darlo por perdido. Si un paso no puede responder, una regla de respaldo es sensata, siempre que se trate como respaldo.
¿Qué pasa con el intento anterior si vuelvo a empezar un trabajo?
Depende de la herramienta. Algunas dejan correr el intento anterior y descartan su resultado cuando termina el segundo; otras lo cancelan de inmediato. Antes de reiniciar, pregunte qué pasa con el intento anterior y con cualquier trabajo que ya haya hecho.