#!/bin/bash # Master runner for 5-coop / 10-floor daily processing set -u SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" export PYTHONPATH="$SCRIPT_DIR/src" if [ -f "$SCRIPT_DIR/venv/bin/python" ]; then PYTHON="$SCRIPT_DIR/venv/bin/python" else PYTHON="python3" fi DATE="${1:-$(date +%Y-%m-%d)}" MODE="${2:-parallel_processes}" # List of all configured floors CONFIGS=( "configs/K1-L1.yaml" "configs/K1-L2.yaml" "configs/K2-L1.yaml" "configs/K2-L2.yaml" "configs/K3-L1.yaml" "configs/K3-L2.yaml" "configs/K4-L1.yaml" "configs/K4-L2.yaml" "configs/K5-L1.yaml" "configs/K5-L2.yaml" ) echo "=================================================================" echo " Starting 5-Coop Multi-Floor Batch Processing for Date: $DATE" echo " Execution Mode: $MODE" echo "=================================================================" SUCCESS_COUNT=0 SKIPPED_COUNT=0 for config in "${CONFIGS[@]}"; do if [ -f "$SCRIPT_DIR/$config" ]; then echo "" echo ">>> [PROCESSING] Location Config: $config <<<" if $PYTHON -m chicken_counter.cli batch --config "$config" --date "$DATE" --mode "$MODE"; then SUCCESS_COUNT=$((SUCCESS_COUNT + 1)) else echo "⚠️ [SKIPPED / ERROR] $config for date $DATE (video not found or error occurred)." SKIPPED_COUNT=$((SKIPPED_COUNT + 1)) fi fi done echo "" echo "=================================================================" echo " Multi-Floor Batch Summary: $SUCCESS_COUNT completed, $SKIPPED_COUNT skipped." echo " Database: db/chicken_counts.db" echo "================================================================="