【问题标题】:Can Azure Worker Process stop itself?Azure 工作进程可以自行停止吗?
【发布时间】:2013-08-11 06:49:06
【问题描述】:

有没有办法自行停止工作进程?我已经编写了控制台应用程序,它使用 REST API 来启动和停止工作进程并删除云服务部署。在最新的公告中,停止工作进程不会花费任何费用,现在是免费的。

我可以让工作进程自行停止吗?工作进程中是否有任何事件自行停止?请告诉我。

【问题讨论】:

  • 为什么不使用您在控制台应用程序中从您的工作角色本身所做的事情?您不能以这种方式单独管理实例,但您可以使用相同的 REST API 来关闭整个服务。

标签: azure


【解决方案1】:

所以我认为您指的是工人角色,对吗?工作人员 process 只是您在应用程序中运行的东西(如线程、方法等)。 Azure 辅助角色是完整的 VM。

假设这就是您的意思:关于停止 VM 的新公告不适用于 Web / Worker Role 实例;它适用于虚拟机。这些可以通过 REST 调用轻松停止(或者通过包装 REST 调用的 PowerShell 更容易)。您可以从虚拟机发出该调用,这将有效地自行关闭,但我不太确定这是一个合理的想法。如果您采用这种方法,您将很难跟踪角色停止进度,因为您刚刚停止了发出调用的 VM。

【讨论】:

  • 当我看到文档时,“停止的虚拟机不收费”工人角色也是虚拟机,那么应该没有成本吧?
  • 有没有办法让我的控制台应用程序在 On Premise 中作为服务运行,一旦工作进程完成其活动,它将向作为服务运行的控制台应用程序发送提示并开始删除部署的云服务。
  • 是的 - 但这取决于您来实施。您可以使用服务总线队列,您的控制台应用程序在其中订阅“完成”主题。您可以使用 Azure 存储队列。您可以让您的本地应用程序托管一个 Web 服务(REST 或类似的东西)。很多选择。然后,当您的控制台收到一条消息时,它可以简单地执行一个类似Stop-AzureVM -Name myservicename -VM myvmname 的 PowerShell 调用。请记住:这是针对虚拟机的,而不是针对工作角色实例的。使用工作者角色,您只能选择扩展/缩小到更多/更少的实例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-05
相关资源
最近更新 更多