Problem
When the daily queue is empty, generate_digest.py exits with status code 1. Because run_daily.sh uses set -e, the entire cron run aborts.
Repro
- Ensure
data/queue/articles.json does not exist (or is empty).
- Run
./run_daily.sh.
Expected
The daily workflow should treat "no queued articles" as a normal condition and exit successfully, still running any subsequent maintenance steps.
Actual
generate_digest.py prints "No digest generated." and exits non-zero, which aborts run_daily.sh.
Impact
- No-op days appear as failures in cron.
- Cleanup step may be skipped.
- Monitoring/alerting gets noisy.
References
generate_digest.py:159
generate_digest.py:161
run_daily.sh:13
run_daily.sh:32
Problem
When the daily queue is empty,
generate_digest.pyexits with status code1. Becauserun_daily.shusesset -e, the entire cron run aborts.Repro
data/queue/articles.jsondoes not exist (or is empty)../run_daily.sh.Expected
The daily workflow should treat "no queued articles" as a normal condition and exit successfully, still running any subsequent maintenance steps.
Actual
generate_digest.pyprints "No digest generated." and exits non-zero, which abortsrun_daily.sh.Impact
References
generate_digest.py:159generate_digest.py:161run_daily.sh:13run_daily.sh:32