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
10 lines
511 B
Bash
Executable File
10 lines
511 B
Bash
Executable File
#!/bin/bash
|
|
# Routine run: every surface, --abort 50 (only gdl-cron.sh's "profiles" mode
|
|
# does this), ~5 min. Covers everything but is no substitute for stories.sh --
|
|
# a story posted and expired between two runs of this is simply gone.
|
|
set -eu
|
|
# healthchecks.io check "instagram-archiver-posts". Override or unset (e.g.
|
|
# HC_URL= ./run-profiles.sh) to run without pinging it.
|
|
export HC_URL="${HC_URL:-https://hc-ping.com/3f40abd8-e9bd-43af-a105-c583efaad88c}"
|
|
exec "$(dirname "$0")/gdl-cron.sh" profiles "$@"
|