Start/finish pings wired through gdl-cron.sh via HC_URL, finish ping carries the run's log as its body (visible in the dashboard, no SSH needed to diagnose a failure). Exit code is the trailing URL segment by convention, so the existing "stories: 0 to sync" -> exit 75 remap already reaches the dashboard as a failure too. Also fixes the actual bug that would have made this useless: the routine chown-permission rsync warning (the archive share is never owned by the ssh user) made gdl-sync.py return 1 on every clean run, not just failing ones -- harmless when a human reads the log, but it would have pinged every successful run as a failure. publish() now only masks that one specific, verified-benign error shape; a real transfer failure sharing the same exit code (23) still fails loudly. 6 new tests. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011qAds5qr7nZRq5R4yAuxUk
13 lines
662 B
Bash
Executable File
13 lines
662 B
Bash
Executable File
#!/bin/bash
|
|
# Daily run: stories only, ~1 min. The one surface that cannot be backfilled
|
|
# -- do this often. See TOOLING.md "Quick reference" for the full picture.
|
|
#
|
|
# Just a fixed-mode entry point so you don't have to remember gdl-cron.sh's
|
|
# mode argument; override pacing/paths the same way gdl-cron.sh does, with
|
|
# GDL_* env vars (see gdl-cron.sh's own comments for what's available).
|
|
set -eu
|
|
# healthchecks.io check "instagram-archiver-stories". Override or unset (e.g.
|
|
# HC_URL= ./run-stories.sh) to run without pinging it.
|
|
export HC_URL="${HC_URL:-https://hc-ping.com/9fe7347f-95be-47aa-a46b-affd27691554}"
|
|
exec "$(dirname "$0")/gdl-cron.sh" stories "$@"
|