#!/bin/bash set -u 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-10" "2026-06-11" "2026-06-12" "2026-06-13" "2026-06-14" "2026-06-15" "2026-06-16" "2026-06-17" "2026-06-18" "2026-06-19" ) cameras=("CC1" "CC2" "CC3" "CC4") # Maximum parallel video jobs (default: 4) MAX_JOBS="${MAX_JOBS:-4}" echo "=== Starting per-video parallel processing with MAX_JOBS=$MAX_JOBS ===" for date in "${dates[@]}"; do echo "=== Starting batch for date: $date ===" 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" --no-video & done wait || true echo "=== Date $date completed ===" done echo "=== All video processing jobs completed ==="