工作者角色流程在被杀之前可以将状态设置为“忙”多长时间?

时间:2014-09-12 08:23:36

标签: windows azure

我有一个工作人员角色流程,希望在忙于处理新请求时停止处理这些新请求(例如,CPU负载> 80%,长磁盘队列或其他一些指标)。

如果我将角色状态设置为" busy",它会在占用太长时间后被Fabric Controller杀死吗?如果是,在Fabric Controller终止进程之前需要多长时间?

我认为该过程仍然能够接收/发送信号到Fabric代理。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以将实例永久保留在Busy状态。 Azure将采取恢复操作的唯一时间是进程退出。有关其他信息,请参阅http://blogs.msdn.com/b/kwill/archive/2013/02/28/heartbeats-recovery-and-the-load-balancer.aspx

另外,你的工作角色在做什么?将实例状态设置为Busy只会将其从负载均衡器轮换中取出,以便新的传入TCP连接不会路由到该实例。但是,如果您的辅助角色是典型的辅助角色,它执行后台作业(即,在循环中从队列中拾取消息,或者在内部端点上侦听来自前端Web角色的请求),那么将其设置为忙碌将没有效果。在这种情况下,您可以为代码添加逻辑以停止工作,但看起来将取决于您的角色正在做什么类型的工作。