#!/bin/sh set -eu ROOT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)" LOG_DIR="${ECOSPECIES_BACKFILL_LOG_DIR:-$ROOT_DIR/var/logs}" STATE_FILE="${ECOSPECIES_BACKFILL_STATE_FILE:-$ROOT_DIR/var/citation-backfill.cursor}" LOCK_DIR="${ECOSPECIES_BACKFILL_LOCK_DIR:-$ROOT_DIR/var/citation-backfill.lock}" MAX_SPECIES="${ECOSPECIES_BACKFILL_MAX_SPECIES:-3}" mkdir -p "$LOG_DIR" mkdir -p "$ROOT_DIR/var" if ! mkdir "$LOCK_DIR" 2>/dev/null; then echo "citation backfill already running; skipping" exit 0 fi trap 'rmdir "$LOCK_DIR"' EXIT INT TERM exec docker exec ecospecies-api /bin/sh -lc \ "PYTHONPATH=/workspace/apps/api/src /workspace/.docker/venv/bin/python -u /workspace/scripts/backfill-citations.py --username citation-backfill --max-species ${MAX_SPECIES} --state-file ${STATE_FILE}"