#!/bin/bash set -e FUND="$HOME/palacefund/fund" BUILD="$HOME/palacefund/management/report/site/build-sites.sh" COOLDOWN=600 # 10 minutes in seconds LAST_BUILD=0 echo "Watching $FUND for changes (cooldown: ${COOLDOWN}s)..." fswatch -o "$FUND" | while read event; do NOW=$(date +%s) if (( NOW - LAST_BUILD >= COOLDOWN )); then echo "[$(date '+%H:%M:%S')] Change detected — building..." bash "$BUILD" LAST_BUILD=$NOW echo "[$(date '+%H:%M:%S')] Build complete." else WAIT=$(( COOLDOWN - (NOW - LAST_BUILD) )) echo "[$(date '+%H:%M:%S')] Change detected — skipping (cooldown: ${WAIT}s remaining)" fi done