← back to Animals

logs/phase2-finalize.sh

45 lines

#!/bin/bash
# Phase 2 finalize: wait for subcat enricher to exit, then run cleanup pipeline.
set -e
cd ~/Projects/animals

LOG=~/Projects/animals/logs/phase2-finalize.log
echo "=== finalize started $(date) ===" > "$LOG"

# Wait for subcat process
SUBCAT_PID=$(ps -ef | grep subcategory_crawler | grep -v grep | awk '{print $2}' | head -1)
if [ -n "$SUBCAT_PID" ]; then
  echo "waiting for subcat PID $SUBCAT_PID to finish..." >> "$LOG"
  while ps -p "$SUBCAT_PID" > /dev/null 2>&1; do sleep 8; done
  echo "subcat done at $(date)" >> "$LOG"
else
  echo "no subcat process running, proceeding" >> "$LOG"
fi

echo "" >> "$LOG"
echo "=== POST-ENRICH IMAGE COUNTS ===" >> "$LOG"
PGHOST=/tmp PGUSER=stevestudio2 PGDATABASE=animals_directory psql -t \
  -c "SELECT 'live_total='||COUNT(*) FROM breed_images WHERE dead_at IS NULL;" \
  -c "SELECT source||':'||COUNT(*) FROM breed_images WHERE dead_at IS NULL GROUP BY source ORDER BY 1;" >> "$LOG"

echo "" >> "$LOG"
echo "=== STEP 1: title_pollution.js --apply ===" >> "$LOG"
node src/audit/title_pollution.js --apply >> "$LOG" 2>&1 || true

echo "" >> "$LOG"
echo "=== STEP 2: backfill_heros.js ===" >> "$LOG"
node src/enrich/backfill_heros.js >> "$LOG" 2>&1 || true

echo "" >> "$LOG"
echo "=== STEP 3: pick_dogpark_avatars.js --species all ===" >> "$LOG"
node src/enrich/pick_dogpark_avatars.js --species all >> "$LOG" 2>&1 || true

echo "" >> "$LOG"
echo "=== POST-CLEANUP IMAGE COUNTS ===" >> "$LOG"
PGHOST=/tmp PGUSER=stevestudio2 PGDATABASE=animals_directory psql -t \
  -c "SELECT 'live_total='||COUNT(*) FROM breed_images WHERE dead_at IS NULL;" \
  -c "SELECT source||':'||COUNT(*) FROM breed_images WHERE dead_at IS NULL GROUP BY source ORDER BY 1;" >> "$LOG"

echo "" >> "$LOG"
echo "=== finalize complete $(date) ===" >> "$LOG"