2026-06-15 16:40:50 +00:00
|
|
|
|
#!/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).
|
|
|
|
|
|
#
|
2026-06-25 15:23:17 +00:00
|
|
|
|
# Install on the instance (ingest every 20 min, 06:00–20:40 EAT):
|
|
|
|
|
|
# */20 6-20 * * * /opt/fleettickets/run_ingest.sh >> /var/log/fleettickets-inc.log 2>&1
|
2026-06-15 16:40:50 +00:00
|
|
|
|
# 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
|