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

Clase 3 · 20 min

La cola casera en 30 líneas

Antes del bot, verás la idea completa en un script corto del repositorio jornada-agentes: cuatro carpetas, una tarea a la vez, reanudación después de Ctrl+C y fallos separados con su motivo.

Empezar la lección
Laptop con una terminal oscura junto a cuatro carpetas de papel sobre la mesa.

En esta lección vas a

  1. 1Las cuatro carpetas y el recorrido de una tarea
  2. 2La reanudación, en la práctica
  3. 3El script línea por línea
  4. 4Cambiar el motor: claude o codex

Objetivo: ejecutar la cola casera, interrumpirla a mitad y explicar por qué la segunda ejecución no repite lo que ya se hizo.

01El recorrido de un archivo

Cada pedido es un .md que cambia de carpeta.

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

  1. 1/5

    entrada/

    Cada archivo .md es un pedido, escrito como lo escribirías en el chat. El orden lo determina el nombre del archivo.

  2. 2/5

    rodando/

    El script mueve el archivo aquí antes de llamar al agente. Si presionas Ctrl+C o la computadora se apaga, el archivo se queda aquí, y eso permite reanudar la tarea.

  3. 3/5

    feito/

    Salió bien (código 0 y respuesta no vacía): el archivo final contiene el pedido, una línea --- y la respuesta del agente.

  4. 4/5

    falhou/

    Hubo un error o la respuesta llegó vacía: el archivo va aquí con el código de salida y lo que imprimió el agente. La cola sigue con el siguiente.

  5. 5/5

    Al volver a ejecutarlo, solo toma lo que quedó pendiente

    Al iniciar, el script devuelve a entrada/ lo que quedó en rodando/. Lo que ya está en feito/ nunca se repite.

Haz clic en cada carpeta. El truco está en rodando/: la tarea solo sale de ahí cuando termina, para ir a feito/ o a falhou/.

02Mira la cola en funcionamiento

Ejecútala, interrúmpela a mitad con el botón de Ctrl+C y vuelve a ejecutarla.

entrada/

rodando/

feito/

falhou/

Simulación ilustrativa en el navegador: las tareas no se ejecutan de verdad. El fallo es intencional para mostrar la carpeta falhou/.

03El script y cómo usarlo

Está en ferramentas/fila-caseira.sh en el repositorio jornada-agentes. Los dos motores funcionan con tu suscripción.

Terminal · preparar y ejecutar
git clone https://github.com/inematds/jornada-agentes.git
cd jornada-agentes
mkdir -p fila/entrada
echo "Resume en 5 líneas qué es una cola de tareas." > fila/entrada/01.md
echo "Enumera 3 riesgos de dejar un agente funcionando solo." > fila/entrada/02.md
./ferramentas/fila-caseira.sh fila          # motor por defecto: claude
./ferramentas/fila-caseira.sh fila codex    # o codex
El núcleo de fila-caseira.sh (resumido para facilitar la lectura)
mkdir -p "$PASTA/entrada" "$PASTA/rodando" "$PASTA/feito" "$PASTA/falhou"

# reanudación: lo que quedó en "rodando" (caída, Ctrl+C) vuelve a la entrada
for f in "$PASTA"/rodando/*.md; do [ -e "$f" ] && mv "$f" "$PASTA/entrada/"; done

for f in "$PASTA"/entrada/*.md; do
  [ -e "$f" ] || { echo "fila vazia"; break; }
  nome=$(basename "$f")
  mv "$f" "$PASTA/rodando/$nome"          # toma la tarea (solo una a la vez)
  saida=$(claude -p "$(cat "$PASTA/rodando/$nome")" < /dev/null 2>&1); rc=$?
  if [ $rc -eq 0 ] && [ -n "$saida" ]; then
    # el pedido + --- + la respuesta van a feito/
  else
    # el pedido + ERRO (rc) + la salida van a falhou/
  fi
done
Ejemplo del repositorio
→ 01.md
  hecho
→ 02.md
  hecho
entrada: 0 · feito: 2 · falhou: 0

04Práctica

Usa dos tareas de tu cola en papel (clase 2).

E2 · Cola casera en 30 líneas

30 min

Crea dos o tres tareas en fila/entrada y ejecuta fila-caseira.sh. En una segunda ronda, interrúmpelo con Ctrl+C mientras una tarea está en rodando/, revisa la carpeta y vuelve a ejecutarlo.

Listo cuando: las tareas están en fila/feito con la respuesta y viste que la cola continuó desde donde se había detenido después de Ctrl+C.

Script: jornada-agentes/ferramentas/fila-caseira.sh.

05Pon a prueba lo que aprendiste

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

Pregunta 1 de 3

Interrumpiste la cola a mitad de una tarea. ¿Qué pasa cuando vuelves a ejecutarla?competencia

Para ir más allá

Clase anteriorClase siguiente