【问题标题】:Kill 'Invoke-webrequest' if it takes too long如果花费的时间太长,请终止“Invoke-webrequest”
【发布时间】:2015-11-28 03:33:19
【问题描述】:

我有一个用于从互联网下载文件的脚本,

Invoke-WebRequest -Uri MyUrl -websession $session  -outfile $filename 

我将此作为计划任务,每小时运行一次。在大多数情况下,这非常有效。但是,我发现有时该命令会挂起并且无法下载文件。有没有办法检查命令是否花费了超过设定的时间来运行,如果有,请终止命令并重新开始?

我已经尝试过 timeoutsec 标志,但它似乎根本不起作用。

提前致谢。

【问题讨论】:

    标签: windows powershell scheduled-tasks invoke-command


    【解决方案1】:

    您可以使用 powershell 作业。示例逻辑:

    • 开始工作
    • 在一定时间内使用 Get-Job 循环检查作业的状态。
    • 如果作业耗时过长,请调用 Stop-Job
    • 如果作业完成,请调用 Receive-Job

    阅读: Using Windows Powershell Jobs

    【讨论】:

      猜你喜欢
      • 2014-07-29
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多