forked from zakaria/chicken-counting-sukawarna-det
41 lines
1.1 KiB
Bash
Executable File
41 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
if [ -d "$SCRIPT_DIR/../src" ]; then
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
else
|
|
PROJECT_ROOT="$SCRIPT_DIR"
|
|
fi
|
|
cd "$PROJECT_ROOT"
|
|
export PYTHONPATH="$PROJECT_ROOT/src"
|
|
|
|
if [ -f "$PROJECT_ROOT/venv/bin/python" ]; then
|
|
PYTHON="$PROJECT_ROOT/venv/bin/python"
|
|
else
|
|
PYTHON="python3"
|
|
fi
|
|
dates=(
|
|
"2026-06-18"
|
|
)
|
|
cameras=("CC1" "CC2" "CC3" "CC4")
|
|
|
|
# Maximum parallel video jobs (default: 4)
|
|
MAX_JOBS="${MAX_JOBS:-4}"
|
|
echo "=== Starting per-video parallel processing with video output for 2026-06-18 (MAX_JOBS=$MAX_JOBS) ==="
|
|
|
|
for date in "${dates[@]}"; do
|
|
for cam in "${cameras[@]}"; do
|
|
echo "=== Launching $date ($cam) ==="
|
|
$PYTHON -m chicken_counter.cli batch --config configs/cycle7_batch_optimized.yaml --date "$date" --camera "$cam" --output-subdir output_video &
|
|
|
|
# Throttle active background jobs to MAX_JOBS
|
|
while [ "$(jobs -r -p | wc -l)" -ge "$MAX_JOBS" ]; do
|
|
sleep 1
|
|
done
|
|
done
|
|
done
|
|
|
|
wait
|
|
echo "=== All video processing jobs completed ==="
|