Social media on autopilot|INEMA.CLUB-PRO

Lesson 7 · 18 min

Schedule with a gate: the channel runs on its own, you decide

The schedule turns the pipeline into a channel: one run a day, at a set time, without you having to remember. But a schedule without a gate means posting the wrong thing faster. In this lesson, you’ll write the timer, decide what happens on a day with no topic, and run a week approving each video until you stop having to reject them.

Start the lesson
A wall calendar marked with early-morning times and a phone showing an alert message.

In this lesson, you will

  1. 1Frequency: daily, weekly, and Sunday
  2. 2The systemd timer (or cron)
  3. 3The three messages: video, no topic, failed
  4. 4The week with a gate and when to remove it

Goal: write your channel’s schedule and run a week with manual approval, turning each rejection into a rule.

01A scheduled run

Click each block. This is what happens every early morning in a radar.

Click each block in the diagram to see what it does.

Each radar runs at a different time (02:00, 05:00, 08:00) so they don’t compete for the GPU and avatar studio.

02Choose your schedule

The finviral model, for you to adapt.

1. Daily

40 to 60 seconds on what the sources published yesterday and the day before.

finviralMonday to Friday, 02:00 · "daily" run

03Scheduling

A systemd timer for your user (finviral works this way). Replace <canal> and the script path.

~/.config/systemd/user/-diario.timer
[Unit]
Description=<canal> — daily at 02:00

[Timer]
OnCalendar=Mon..Fri *-*-* 02:00:00
Persistent=false

[Install]
WantedBy=timers.target
~/.config/systemd/user/-diario.service
[Unit]
Description=<canal> — daily run
After=network-online.target

[Service]
Type=oneshot
ExecStart=/bin/bash %h/projetos/<canal>/auto/rodar.sh diario
TimeoutStartSec=10h
MemoryMax=60G
Nice=5
terminal
systemctl --user daemon-reload
systemctl --user enable --now <canal>-diario.timer
systemctl --user list-timers '<canal>-*'

# skip one run without disabling the schedule
echo "2026-10-17 diario" >> auto/pular.txt
crontab (alternative)
# minute hour day month day-of-week  command
0 2 * * 1-5  /bin/bash $HOME/projetos/<canal>/auto/rodar.sh diario
Repository example

With Persistent=false, a missed run (the machine is off at 02:00) does not run late when the machine comes back on. For a daily radar, a video about yesterday published in the afternoon is no use.

04See a week of runs

Run it for a week. Interrupt it halfway through, then run it again.

scheduled

running

approved video

no story

Illustrative browser simulation. Wednesday with no topic is intentional, to show that an empty day is a normal result, not an error.

05Practice: schedule and week with a gate

Exercises 5 and 6 in sequence 4.

E5 · The schedule

20 min

Choose the frequency and write the schedule (systemd timer or cron), including what happens on a day with no topic and where the failure alert goes.

Done when: the schedule is written, list-timers (or crontab) shows the next run, and you know what happens on a day with no topic.

E6 · The gate before publishing

1 week

Run for a week with manual approval before each post. Note what you reject and why; each rejection becomes a rule in regras.md.

Done when: you’ve gone 3 days in a row without needing to reject anything. Only then consider removing the gate from a step.

Completed exercises: jornada-agentes/exercicios/04-redes.md.

06Test what you learned

The explanation appears after you answer.

Question 1 of 4

When is it reasonable to remove the gate from a step?competency

To learn more

Previous lessonNext lesson