param( [Parameter(Mandatory=$true)] [string]$PythonFile ) function Run-PythonScript { param($ScriptPath) $process = Start-Process -FilePath "python" -ArgumentList $ScriptPath -PassThru -Wait -NoNewWindow return $process.ExitCode } function Git-Pull { git pull return $LASTEXITCODE -eq 0 } $waitTime = 15 while ($true) { python -m pip install -r requirements.txt $exitCode = Run-PythonScript -ScriptPath $PythonFile if (Test-Path -Path ".\.doreboot") { Write-Host "Special filename detected. Attempting git pull..." if (Git-Pull) { Write-Host "Git pull successful. Restarting Python script..." $waitTime = 15 continue } else { Write-Host "Git pull failed. Waiting $waitTime seconds before next attempt..." } } else { exit 1 } Start-Sleep -Seconds $waitTime $waitTime *= 2 }