#!/bin/bash # LT1 ยท uso: py/run.sh [args] -> contenedor lt1-NN (-m 8g, --cpus 4, sin red, datos :ro); escribe solo en /w # IMAGEN por defecto medir-consultas:local (duckdb + numpy); impl2: IMAGEN=bquant-report-worker-report-worker:latest (pandas+numpy, sin duckdb) set -euo pipefail W=/ley_y_datos IMAGEN=${IMAGEN:-medir-consultas:local} NN=$1; S=$2; shift 2 while true; do AV=$(free -g | awk '/^Mem:/{print $7}'); [[ $AV -ge 12 ]] && break; echo "available ${AV}G < 12: espero" >&2; sleep 60; done mkdir -p $W/tmp/duck echo "$(date '+%F %H:%M:%S') lt1-$NN $S $IMAGEN" >> $W/tmp/contenedores.log timeout ${TMO:-3600} docker run --rm -i -m 8g --memory-swap 8g --cpus 4 --network none --user 1000:1000 --name "lt1-$NN" \ -e HOME=/w/tmp -e PYTHONDONTWRITEBYTECODE=1 \ -v /:/d:ro -v /:/et:ro -v $W:/w \ --entrypoint python3 $IMAGEN /w/py/$S "$@"