@echo off setlocal enableextensions set "ROOT=%~dp0" set "ROOT=%ROOT:~0,-1%" set "VENV=C:\venv_ICR" set "PYTHON=%VENV%\Scripts\python.exe" for /f %%I in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') do set "DT=%%I" set "LOG_FILE=%ROOT%\LOG\daily_%DT%.log" md "%ROOT%\LOG" 2>nul set "PIPELINE_LOG_FILE=%LOG_FILE%" echo [1/6] Verifica venv... if not exist "%PYTHON%" ( echo Creazione ambiente virtuale... C:\Python311\python.exe -m venv "%VENV%" "%VENV%\Scripts\pip" install pyodbc pywin32 xlwt duckdb loguru ) echo [2/6] Sync CsvToParquet_layer1... set "L1_LOCAL=C:\PYTHON_LOCAL\CsvToParquet_layer1" robocopy "%ROOT%\CsvToParquet_layer1" "%L1_LOCAL%" /MIR /XO /XD parquet logs __pycache__ /NFL /NDL /NJH /NJS echo [3/6] Esecuzione CsvToParquet_layer1 daily... set "DATAHUB_INPUT_DIR=\\mediaset.it\share\Indirizzo_controllo_risorse\SOFTWARE\SCHEDULATORE\INPUT" "%PYTHON%" "%L1_LOCAL%\main.py" daily if errorlevel 1 ( echo [ERRORE] CsvToParquet_layer1 daily fallito. exit /b 1 ) echo [4/6] Pubblicazione parquet su Layer 1... set "L1_DEST=\\mediaset.it\share\Indirizzo_controllo_risorse\SOFTWARE\PYTHON_SRV\parquet_layer1" robocopy "%L1_LOCAL%\parquet" "%L1_DEST%" gemma.parquet osservatorio.parquet /NFL /NDL /NJH /NJS echo [5/6] layer1 -> layer2... "%PYTHON%" "%ROOT%\Parquet_layer1ToParquet_layer2\main.py" daily if errorlevel 1 ( echo [ERRORE] layer1->layer2 fallito. exit /b 1 ) echo [6/6] ParquetToAccessDaily — populate + enrichment + publish DB_DAY... "%PYTHON%" -u "%ROOT%\ParquetToAccessDaily\main.py" if errorlevel 1 ( echo [ERRORE] ParquetToAccessDaily fallito. exit /b 1 ) echo Schedulazione giornaliera completata. endlocal