PowerShell jobs
PowerShell jobs allow you to run long-running or resource-intensive tasks in the background, without blocking the main thread of your script or session. Jobs can be created using the Start-Job cmdlet, and their status and results can be monitored using the Get-Job cmdlet. Here's an example:
# Start a new job to run a script block
$job = Start-Job -ScriptBlock {
param(
[int]$Count
)
1..$Count | ForEach-Object {
Write-Host "Processing item $_..."
Start-Sleep -Seconds 1
}
} -ArgumentList 5
# Wait for the job to complete and get its results
$job | Wait-Job | Receive-Job
In this example, we create a new job using the Start-Job cmdlet, passing in a script block that will generate some output over a few seconds. We use the -ArgumentList parameter to pass in a value of 5, indicating that the script block should generate output for 5 iterations. We then use the Wait-Job cmdlet to wait for the job to complete, and the Receive-Job cmdlet to get its results (which in this case will be the output generated by the script block).
No comments:
Post a Comment