webjob scale-in 会杀死 "busy" 个实例吗?

Will webjob scale-in kill "busy" instances?

假设我有一个 Web 作业,它使用存储队列中的消息。当我的队列有太多消息等待提取时,我正在计划一个扩展规则来扩展。

有些消息需要很长时间才能处理。

我的问题是...如果发生横向扩展并且启动了缩减规则(当队列中消息的 nbr 减少时),Azure 是否会等到消息完成处理后再终止实例或者它会立即杀死实例?

01/20 更新:

对于自动缩放,没关系,它会等待实例完成它的工作。

但是对于手动缩容,它不会等待,而是立即将其杀死。


原文:

对于手动缩减,不,它不会杀死繁忙的实例。 Azure WebApp / webjobs 应该为多个实例使用指定的 LoadBalance 策略,它会平衡工作负载并将队列消息分别路由到 3 个实例。这意味着 3 个实例将并行工作。

我没有找到关于这个的任何官方文档,但是很容易测试出来。

我设置了一个队列触发器网络作业,并在 Azure 中连续上传它。 scale out后可以看到3个实例都正常工作了

注意:实例id 940246是原来的,另外2个实例id 4c7ed0 / f3753c是scale out后的。

在 kudu 站点中,列出了 3 个实例。截图如下:

在网络作业日志中: