Agenda con compuerta: el canal funciona solo, tú decides
La agenda convierte la cadena de producción en un canal: una ronda al día, a una hora fija, sin que tengas que acordarte. Pero una agenda sin compuerta significa publicar algo incorrecto más rápido. En esta clase escribirás el temporizador, decidirás qué hacer un día sin tema y harás funcionar el canal durante una semana aprobando cada video, hasta que dejes de rechazarlo.
Objetivo: escribir la programación de tu canal y hacerlo funcionar durante una semana con aprobación manual, convirtiendo cada rechazo en una regla.
01 · Una ronda programada
Haz clic en cada bloque. Esto es lo que ocurre cada madrugada en un radar.
Cada rechazo se convierte en una regla; la siguiente ronda ya la lee
Haz clic en cada bloque del diagrama para ver qué hace.
El horario de cada radar es diferente (02:00, 05:00, 08:00) para que no compitan por la GPU y el estudio del avatar.
02 · Decide tu agenda
El modelo de finviral, para que lo adaptes.
1. Diario
40 a 60 segundos con lo que publicaron ayer y anteayer las fuentes de referencia.
finviralDe lunes a viernes, 02:00 · ronda "diario"
2. Semanal
90 s a 2 min con el resumen de la semana. En los radares, también sale un video largo en 16:9, "La semana explicada", de 5 a 7 minutos.
finviralSábado, 02:00 · ronda "semanal"
3. Domingo
Cerca de 90 s con lo que las fuentes de referencia esperan para la próxima semana.
finviralDomingo, 02:00 · ronda "domingo"
4. Día flojo
Escribe antes qué pasa en un día sin tema: ningún video y el mensaje "sin tema" con el motivo. Forzar un video en un día flojo es el primer paso para publicar algo equivocado.
Mensajesin tema: ninguno de los canales publicó videos nuevos durante el período.
03 · La programación
Temporizador de systemd en tu usuario (finviral lo usa así). Cambia <canal> y la ruta del script.
systemctl --user daemon-reload
systemctl --user enable --now <canal>-diario.timer
systemctl --user list-timers '<canal>-*'
# saltar una ronda sin desactivar la agenda
echo "2026-10-17 diario" >> auto/pular.txt
crontab (alternativa)
# minuto hora día mes día-de-la-semana comando
0 2 * * 1-5 /bin/bash $HOME/projetos/<canal>/auto/rodar.sh diario
Ejemplo del repositorio
Con Persistent=false, una ronda perdida (máquina apagada a las 02:00) no se ejecuta con retraso cuando la máquina vuelve a encenderse. Para un radar del día, un video de ayer publicado por la tarde no sirve.
TimeoutStartSec y MemoryMax son límites: la ronda que se bloquee se detiene y la que consuma demasiada memoria no tira abajo la máquina. Una ronda sin límite que se bloquea a las 02:00 sigue bloqueada a las 09:00.
04 · Mira una semana de rondas
Ejecuta la semana. Interrúmpela a la mitad y vuelve a ejecutarla.
agenda
en curso
video aprobado
sin tema
Simulación ilustrativa en el navegador. El miércoles sin tema es intencional, para mostrar que un día vacío es un resultado normal, no un error.
05 · Práctica: agenda y semana con compuerta
Ejercicios 5 y 6 de la secuencia 4.
E5 · La agenda
20 min
Decide la frecuencia y escribe la programación (timer de systemd o cron), qué pasa en un día sin tema y dónde llega el aviso de error.
Listo cuando: la programación está escrita, list-timers (o el crontab) muestra la próxima ronda y sabes qué pasa en un día sin tema.
E6 · La compuerta antes de publicar
1 semana
Ejecuta una semana con aprobación manual antes de cada publicación. Anota qué rechazaste y por qué; cada rechazo se convierte en una regla en regras.md.
Listo cuando: pasaste 3 días seguidos sin tener que rechazar nada. Solo entonces piensa en quitar la compuerta de alguna etapa.
A las 9 h no recibiste nada del bot. ¿Qué significa?
Correcto
El silencio nunca es una respuesta. Un día sin tema envía "sin tema"; un error envía "falló en X". Si no llegó nada, revisa la ronda.
No es esa
El silencio nunca es una respuesta. Un día sin tema envía "sin tema"; un error envía "falló en X". Si no llegó nada, revisa la ronda.Repasar: Una ronda programada
Pregunta 3 de 4
Mañana es feriado y no quieres un video. ¿Qué haces sin desactivar la agenda?
Correcto
Una línea como "2026-10-17 diario" en pular.txt omite solo esa ronda.