fleettickets/run_ingest.sh

28 lines
978 B
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
# run_ingest.sh — fleettickets · hourly INC ingest wrapper for cron.
#
# Loads env from the local .env (DATABASE_URL + RUSTFS_* + GEOCODER_*) and runs the
# newest-INC-CSV ingest with --apply (skip-if-unchanged + archive are built in).
#
# Install on the instance (ingest every 20 min, 06:0020:40 EAT):
# */20 6-20 * * * /opt/fleettickets/run_ingest.sh >> /var/log/fleettickets-inc.log 2>&1
# Ensure the crontab runs in the Africa/Nairobi timezone (CRON_TZ=Africa/Nairobi or
# the host/container TZ), since the export filenames and the schedule are EAT.
set -euo pipefail
cd "$(dirname "$0")"
# Load .env if present (KEY=VALUE lines); never commit the real .env.
if [ -f .env ]; then
set -a
# shellcheck disable=SC1091
. ./.env
set +a
fi
# Prefer the project venv if it exists, else the python on PATH (e.g. in-container).
PY="python"
[ -x ".venv/bin/python" ] && PY=".venv/bin/python"
exec "$PY" import_tickets.py --from-bucket --apply