← back to Omega Watches 2
scripts/daily-antiquorum.sh
30 lines
#!/usr/bin/env bash
# daily-antiquorum.sh — Run Antiquorum auction collector
# Schedule: 10:00 UTC daily via cron
# Timeout: 10 minutes
set -euo pipefail
PROJ_DIR="/root/Projects/omega-watches-2"
LOG_DIR="${PROJ_DIR}/logs"
LOG_FILE="${LOG_DIR}/antiquorum-$(date +%Y%m%d).log"
mkdir -p "${LOG_DIR}"
echo "=== Antiquorum Collection Run — $(date -u) ===" >> "${LOG_FILE}"
timeout 600 node "${PROJ_DIR}/collectors/runner.mjs" antiquorum >> "${LOG_FILE}" 2>&1
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
echo "=== SUCCESS $(date -u) ===" >> "${LOG_FILE}"
# Refresh materialized views
PGPASSWORD='OmegaWatch2024Pass' psql -h 127.0.0.1 -U omega_admin -d omega_watches_v2 \
-c "REFRESH MATERIALIZED VIEW source_health; REFRESH MATERIALIZED VIEW ref_price_summary;" \
>> "${LOG_FILE}" 2>&1
else
echo "=== FAILED (exit code: $EXIT_CODE) $(date -u) ===" >> "${LOG_FILE}"
fi
# Rotate logs older than 30 days
find "${LOG_DIR}" -name "antiquorum-*.log" -mtime +30 -delete 2>/dev/null || true