395 B
Executable File
395 B
Executable File
function Invoke-Retry { param( [scriptblock]$Action, [int]$Retries = 3, [int]$DelaySeconds = 5, [string]$Name = "Operation" )
for ($i = 1; $i -le $Retries; $i++) {
try {
return & $Action
}
catch {
Write-Log "$Name failed ($i/$Retries): $($_.Exception.Message)" -Level WARN
if ($i -eq $Retries) { throw }
Start-Sleep $DelaySeconds
}
}
}