news-cycle.timer runs poll then notify every 15 minutes; news-digest.timer runs the briefing at 08:45 daily. Both enabled and verified: a manual cycle fetched 1047 items, embedded 95 new ones and clustered them in 74s. Units are installed as COPIES rather than symlinks. The previous service's units were symlinked into docs/projects/news/deploy/, and when that repo was renamed to news_triage they became dangling and the timer failed every ten minutes, unnoticed, until this rebuild found it. Copying costs a re-copy after editing; symlinking cost days of silent failure. Deliberate details: the poll ExecStart is `-` prefixed so a failed fetch does not skip notify; RandomizedDelaySec spreads polling off the quarter hour rather than hitting 56 sources at once; the digest is Persistent so a machine that was off at 08:45 still sends rather than skipping the day.
14 lines
338 B
SYSTEMD
14 lines
338 B
SYSTEMD
[Unit]
|
|
Description=news: run a poll/notify cycle every 15 minutes
|
|
|
|
[Timer]
|
|
OnBootSec=3min
|
|
OnUnitActiveSec=15min
|
|
# Feeds are polled by many people on the quarter hour; spread the load and stay
|
|
# a good citizen. Also avoids every source being hit at the same instant.
|
|
RandomizedDelaySec=90
|
|
AccuracySec=30s
|
|
|
|
[Install]
|
|
WantedBy=timers.target
|