【问题标题】:Find out when Azure deployment is ready via WAPPS Cmdlets通过 WAPPS Cmdlet 了解 Azure 部署何时准备就绪
【发布时间】:2011-12-09 06:47:32
【问题描述】:

使用 WAPPS Cmdlet,我试图以编程方式找出部署后我可以使用服务的那一刻。我的 Powershell 脚本在部署过程中执行的最后一个操作:

$hostedService |获取部署-Slot Staging |设置部署状态 -状态运行| Get-OperationStatus -WaitToComplete

它工作正常,但实际上在此之后部署还没有准备好使用。看来具体的事例还得开始。不超过 4 或 5 分钟,我必须等到 webrole 可以通过浏览器访问。 我怎样才能知道服务准备就绪的那一刻? 我想到了一种轮询机制,但我无法通过 WAPPS Cmdlet 实现它。要么我很愚蠢,要么我没有获得有关函数返回值的 Cmdlet 文档。我找不到返回实例状态等内容的函数。 GetRoleInstanceStatus 听起来不错,但恕我直言,这对我来说没用?

谢谢!

【问题讨论】:

    标签: .net powershell azure


    【解决方案1】:

    没有直接的方法可以从 Powershell cmdlet 判断服务何时可以使用,因为您需要等待操作系统完成启动、IIS 初始化以及您的服务填充任何本地缓存用途。

    可能的选项可能包括:

    • 轮询服务的“状态”操作,如下所述:How to find out if Azure service is running

    • WebRole.csOnStart 方法中调用服务,然后写入(例如)表存储或在服务可用时通过 Azure 服务总线通知通知相关方

    【讨论】:

    • 谢谢到目前为止。状态为“就绪”的实例不是指标吗?
    • if($instance.InstanceStatus -eq "Ready") 在轮询循环中似乎有效,每次轮询迭代遍历所有实例
    • 在我们的例子中,应用程序需要 c。标记为“就绪”后 30 秒“启动”。这不是我们希望我们的生产用户看到的东西......
    • 在我的情况下,应用程序在实例准备就绪之前 30 秒可用,这没什么大不了的。您描述的行为将是一个问题。有没有更准确的方法?
    猜你喜欢
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 2018-03-12
    • 1970-01-01
    • 2019-07-22
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多