EcoSpecies-Atlas/scripts/run-citation-backfill.sh

22 lines
802 B
Bash

#!/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}"