File size: 904 Bytes
bf46e5d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env bash
# Launch archive extraction detached. Usage: launch_extract.sh [tb|lv178k|all]
set -euo pipefail

ROOT=/mnt/local-fast/opd_zt
cd "$ROOT"
source "$ROOT/.env"
source "$ROOT/.venv/bin/activate"

WHICH=${1:-all}
LOG_DIR="$ROOT/logs"
mkdir -p "$LOG_DIR"
STAMP=$(date +%Y%m%d_%H%M%S)
LOG="$LOG_DIR/extract_${WHICH}_${STAMP}.log"
PID_FILE="$LOG_DIR/extract_${WHICH}.pid"

if [[ -f "$PID_FILE" ]] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
    echo "extract ($WHICH) already running, pid=$(cat "$PID_FILE")"
    exit 1
fi

# 5 workers — extraction is CPU-bound (decompression), 8x H100 box has plenty CPU
setsid nohup python "$ROOT/scripts/extract_archives.py" --only "$WHICH" --workers 5 \
    > "$LOG" 2>&1 < /dev/null &
PID=$!
echo "$PID" > "$PID_FILE"
ln -sfn "$LOG" "$LOG_DIR/extract_${WHICH}.latest.log"
disown $PID || true
echo "launched extract ($WHICH), pid=$PID  log=$LOG"