22 lines
802 B
Bash
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}"
|