假设我有一个Webjob占用了存储队列中的消息。我正在计划一个扩展规则,以在队列中有太多等待接收的邮件时向外扩展。
某些消息将花费很长时间来处理。
我的问题是...如果发生横向扩展并且启动了扩展规则(当队列中消息的nbr减小时),Azure将等到消息完成处理后再杀死实例,否则它将马上杀死实例?
更新01/20:
对于自动缩放,没关系,它将等待实例完成其工作。
但是对于手动放大,它不会等待而是立即将其杀死。
原件:
对于手动放大,不,它不会杀死繁忙的实例。 Azure WebApp / webjobs应该对多个实例使用指定的LoadBalance策略,它将平衡工作负载并将队列消息分别路由到3个实例。这意味着这三个实例将并行工作。
我没有找到任何与此相关的正式文档,但是很容易对其进行测试。
我设置了一个队列触发器Webjob,并在天蓝色的情况下将其连续上传。向外扩展后,您可以看到3个实例都在工作。
注意:实例ID 940246是原始实例,其余2个实例ID 4c7ed0 / f3753c在扩展后出现。
在kudu网站上,列出了3个实例。屏幕截图如下:
在网络作业日志中: