小编Ste*_*e B的帖子

使用powershell脚本唤醒Web服务器?

我正在构建一个执行 http 请求的脚本,以便“唤醒”一些 asp.net 应用程序。

以下脚本正在运行,但是是同步的:

function WakeUp([string] $url)
{
    Write-Host "Waking up $url ..." -NoNewLine
    $client = new-object system.net.WebClient
    $client.UseDefaultCredentials = $true
    $null = $client.OpenRead($url)
    $client.Dispose()
    Write-Host " Ok"

}
# Run your code that needs to be elevated here
@(
    "http://app1/",
    "http://app2/",
    "http://app3/"
 ) | % { WakeUp $_ }
Run Code Online (Sandbox Code Playgroud)

我想改进此脚本以避免唤醒目标站点。实际上,调用 toOpenRead在返回之前等待答案。

我尝试使用OpenReadAsync,但是在Dispose实际发出请求并且目标应用程序未唤醒之前调用发生。

我有哪些选择?

[编辑]应用 Andy Arismendi 的建议,我的脚本现在是:

$WakeUp = {
    Param ([string] $url)
    try 
    {
        Write-Output "Waking up $url ..." …
Run Code Online (Sandbox Code Playgroud)

powershell

2
推荐指数
1
解决办法
1739
查看次数

标签 统计

powershell ×1