Skip to content

Cron job exits non-zero when queue is empty #3

Description

@rdyson

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

  1. Ensure data/queue/articles.json does not exist (or is empty).
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority:highHighest priority

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions