← back to Omega Watches 2
scripts/daily-chrono24.sh
36 lines
#!/bin/bash
# Daily Chrono24 Marketplace Collection Script
# Scheduled via cron: 0 8 * * * /root/Projects/omega-watches-2/scripts/daily-chrono24.sh
LOG_DIR="/root/Projects/omega-watches-2/logs"
LOG_FILE="$LOG_DIR/chrono24-collection-$(date +%Y-%m-%d).log"
PROJECT_DIR="/root/Projects/omega-watches-2"
mkdir -p "$LOG_DIR"
echo "========================================" >> "$LOG_FILE"
echo "Chrono24 Collection Run: $(date -u '+%Y-%m-%d %H:%M:%S UTC')" >> "$LOG_FILE"
echo "========================================" >> "$LOG_FILE"
cd "$PROJECT_DIR"
timeout 600 node collectors/runner.mjs chrono24 >> "$LOG_FILE" 2>&1
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
echo "STATUS: SUCCESS" >> "$LOG_FILE"
elif [ $EXIT_CODE -eq 124 ]; then
echo "STATUS: TIMEOUT (10 min limit)" >> "$LOG_FILE"
else
echo "STATUS: FAILED (exit code $EXIT_CODE)" >> "$LOG_FILE"
fi
echo "" >> "$LOG_FILE"
find "$LOG_DIR" -name "chrono24-collection-*.log" -mtime +30 -delete 2>/dev/null
PGPASSWORD=OmegaWatch2024Pass psql -h 127.0.0.1 -U omega_admin -d omega_watches_v2 -c "
REFRESH MATERIALIZED VIEW ref_price_summary;
REFRESH MATERIALIZED VIEW source_health;
" >> "$LOG_FILE" 2>&1