Azure Web App 在交换期间丢弃请求

Azure Web App drops request during swap

我喜欢在 Azure 中交换插槽的想法,但它似乎无法正常工作。

我有一个客户端应用程序正在将文件上传到服务器,每个文件作为一个单独的请求。当我尝试服务器交换时,它将挂起其中一个文件上传,并且该请求将失败。同样,如果我刷新生产广告位的网页,它就会挂起。这只会发生大约 30 秒,然后一切正常,但足以中断请求。

我在某处读到粘性插槽设置会导致此问题,所以我禁用了它们,但它仍然会发生。

有什么想法吗?这是一个 nodeJs 网络应用程序。

谢谢, 山姆

因为不同的插槽可以作为不同的应用来处理。如果您的请求在 Web 应用程序交换时在生产槽中挂起,则它应该会失败。我们可以找到原因:

Finally, the site that used to be Production and is now Staging also needs to get some settings apply, causing it to restart. Again, this is fine since it happens in the staging site.

您可以尝试使用 try catch 获取异常,记录失败的文件,并在您的网站交换完成后尝试再次上传此文件。

有关站点交换的更多信息,请参阅https://github.com/projectkudu/kudu/wiki/Understanding-site-swaps and http://ruslany.net/2015/09/how-to-warm-up-azure-web-app-during-deployment-slots-swap/