Colas: diez tareas y vete a dormir|INEMA.CLUB-PRO

Clase 1 · 12 min

Del chat a la cola: por qué guardar las tareas

En el chat, el agente hace una cosa a la vez y solo mientras la ventana está abierta. Una cola durable guarda cada pedido, ejecuta uno a la vez, retoma después de una caída y separa lo que salió bien de lo que falló.

Empezar la lección
Fila de fichas de papel en secuencia sobre una mesa oscura, una de ellas destacada.

En esta lección vas a

  1. 1El límite del chat: tienes que estar pendiente
  2. 2Las cuatro garantías de una cola durable
  3. 3Los estados de una tarea, desde el pedido hasta el resultado
  4. 4Dónde entra inemaccbot en el nivel 3

Objetivo: explicar las cuatro garantías de una cola durable y por qué te permiten alejarte.

01Chat × cola

El mismo pedido, en dos lugares distintos.

Desplázate por la página: cada etapa de abajo ilumina su parte del diagrama.

  1. 1/5

    Chat

    En el chat escribes, esperas, copias y pegas. Si cierras la ventana o se apaga la computadora, el trabajo en curso desaparece. Diez tareas = diez esperas contigo al frente.

  2. 2/5

    Cola durable

    El pedido se guarda antes de ejecutarse. En inemaccbot, la cola es una base de datos SQLite en el disco; en la cola casera, un archivo por tarea en una carpeta. ¿Se apagó? La tarea sigue ahí.

  3. 3/5

    Trabajador

    Un trabajador (worker) toma una tarea, se la entrega al agente y espera. Si el proceso se cae a mitad del trabajo, al iniciar de nuevo recupera lo que estaba en curso antes de aceptar trabajo nuevo.

  4. 4/5

    Resultado

    Cada tarea termina en un estado claro: salió bien (con el archivo o el texto) o falló (con el motivo). Eso es lo que revisas por la mañana.

  5. 5/5

    Por qué esto te permite alejarte

    Guardar antes de ejecutar, una tarea a la vez, retomar después de una caída y separar lo hecho de lo que falló: con estas cuatro garantías, apagar la pantalla no te hace perder trabajo.

En inemaccbot, el pedido llega por Telegram; en la cola casera de la clase 3, es un archivo .md en una carpeta. La idea es la misma.

02Las cuatro garantías

Lo que debes esperar de cualquier cola, casera o no.

1. Guardar antes de ejecutar

El pedido se convierte en un registro en el disco en cuanto llega. No depende de una ventana abierta ni de la memoria del programa.

En inemaccbot, cada pedido se convierte en un job en una tabla de la base de datos. Tiene un número (j13), una cola, un estado y un número de intentos restantes.

Señal en el día a díaEnvías el pedido desde el celular, la computadora se reinicia y el pedido sigue en la lista.

03Los estados de una tarea

Los nombres cambian de una cola a otra; la idea es la misma.

Cola casera (carpetas)
fila/
  entrada/   # solicitudes esperando su turno
  rodando/   # la tarea que el agente está ejecutando ahora
  feito/     # solicitud + respuesta
  falhou/    # solicitud + ERRO y el motivo
inemaccbot (estado del job en la base de datos)
queued    # en la cola, esperando su turno
running   # un trabajador la tomó y la está ejecutando
done      # terminó con resultado
failed    # agotó los intentos, con el motivo
canceled  # tú la cancelaste (/cancelar)
Ejemplo del repositorio
  • Cola casera: al ejecutarla de nuevo, lo que esté en rodando/ vuelve a entrada/.
  • inemaccbot: el trabajador renueva el "alquiler" (lease) de la tarea mientras trabaja. Si el alquiler vence porque el proceso se cayó, la tarea vuelve a queued mientras queden intentos.

04El nivel 3 en video

La cola durable de inemaccbot y la compuerta de aprobación, en un minuto y medio.

Diez tareas y vete a dormir · 1 min 33 sPágina del video con guion →

05Pon a prueba lo que aprendiste

La explicación aparece después de tu respuesta.

Pregunta 1 de 3

¿Cuál es la diferencia esencial entre pedir algo en el chat y enviarlo a una cola durable?competencia

Para ir más allá

Clase siguiente