cef272a8fc
- deploy/goodnews.service: oneshot unit running 'goodnews cycle' with a generous TimeoutStartSec so long classify runs are not killed. - deploy/goodnews.timer: every 15 min, Persistent=true to catch missed runs. - deploy/goodnews.env.example: LLM endpoint + DB path for the scheduled run. - README: scheduling/install docs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
22 lines
644 B
Desktop File
22 lines
644 B
Desktop File
[Unit]
|
|
Description=goodNews ingestion cycle (poll due sources, classify, rebuild brief)
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
User=jay
|
|
Group=jay
|
|
WorkingDirectory=/home/jay/goodNews
|
|
# Optional config (LLM endpoint, DB path). The leading '-' makes it non-fatal
|
|
# if the file is absent.
|
|
EnvironmentFile=-/etc/goodnews/goodnews.env
|
|
ExecStart=/home/jay/goodNews/.venv/bin/python -m goodnews cycle
|
|
# A cycle may classify dozens of articles through a local model; give it room
|
|
# so systemd does not kill a long run (oneshot defaults to 90s).
|
|
TimeoutStartSec=1200
|
|
Nice=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|