Azure 开始睡眠不是';t在Runbook powershell工作流中工作

Azure 开始睡眠不是';t在Runbook powershell工作流中工作,azure,powershell,sleep,azure-automation,azure-runbook,Azure,Powershell,Sleep,Azure Automation,Azure Runbook,我试图在Azure自动化帐户的Runbook中使用启动睡眠/睡眠。我注意到sleep命令没有起任何作用,但它在本地起作用。进一步的指令继续执行,就好像没有睡眠。我也尝试了等待事件超时。我尝试将命令放入InlineScript部分,也尝试从中取出 我错过了什么?只有我面对这个问题吗 powershell工作流的格式如下所示: workflow W{ Disable-AzureRmTrafficManagerEndpoint.. Start-Sleep -Seconds 5

我试图在Azure自动化帐户的Runbook中使用
启动睡眠
/
睡眠
。我注意到sleep命令没有起任何作用,但它在本地起作用。进一步的指令继续执行,就好像没有
睡眠
。我也尝试了等待事件超时。我尝试将命令放入
InlineScript
部分,也尝试从中取出

我错过了什么?只有我面对这个问题吗

powershell工作流的格式如下所示:

workflow W{
    Disable-AzureRmTrafficManagerEndpoint..
    Start-Sleep -Seconds 5
    Stop-AzureWebsiteJob..
    Start-Sleep -Seconds 5
    Start-AzureWebsiteJob..
    Start-Sleep -Seconds 5
    Restart-AzureRmWebApp..
    Start-Sleep -Seconds 5
    Enable-AzureRmTrafficManagerEnpoint..
}

因此,在没有睡眠的情况下,将执行上述指令。从traffic manager禁用和启用端点,然后我看到webjob停止和启动的其他状态。睡眠不会生效。

工作流设计为以非阻塞方式并发执行多条语句-无法保证工作流引擎将等待上一条语句返回

如果要确保按顺序同步执行多条语句,请使用:


。。。或者,除非您正在使用任何特定于工作流的功能,否则请使用常规PowerShell Runbook而不是工作流。

这是工作流的根目录,还是在其他块中?如果你发布了一个展示问题的示例工作流,那么帮助你解决问题就会容易得多。我已经添加了一个类似于我正在做的事情的示例。我会在闲暇时尝试一些大的睡眠时间,比如打印1。。睡1000秒。。。打印2。我看看会怎么样。你怎么知道没有睡眠发生?你究竟是如何观察这一点的?如果这是您的确切工作流程代码,我严重怀疑是否有任何理由跳过睡眠。如果查看Azure门户上的作业输出,请记住此输出是缓冲的,因此所有日志可能会一次显示。如果您可以添加带有时间戳的日志语句,这可能会有所帮助。谢谢,Anatoli。我通过记录时间戳检查睡眠是否有效。对于两个端点,工作流具有相同的指令集。我在门户中看到一个端点被禁用和启用。第二个端点被禁用。然后对应于第一个端点的web作业在azure portal中显示停止或启动。不确定,可能是因为某些地方的延迟。但你是对的。睡眠正如期发挥作用。这就完成了这篇文章的目的。我将做一些进一步的调试以获得更清晰的信息。也许我可以尝试在runbook中打印webjob状态。谢谢Mathias。不知道为什么有人投了反对票。我检查了房间。它表示默认情况下,
工作流活动按顺序运行。我根据阿纳托利的评论,在适当的地方记录时间戳,以确认这一点。
workflow myWorkFlow {
  sequence {
    Do-Something
    Start-Sleep -Seconds 2
    Do-SomethingElse
  }
}