← 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"