Azure Web App在交换期间删除请求

时间:2016-08-18 23:41:30

标签: node.js azure swap azure-deployment-slots

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

我有一个客户端应用程序,它将文件上传到服务器,每个都是一个单独的请求。当我尝试服务器交换时,它将挂起其中一个文件上传,该请求将失败。同样,如果我刷新生产槽的网页,它将挂起。这只发生了30秒,然后一切都很好,但它足以中断请求。

我在某处读到了粘滞的插槽设置可能会导致这种情况,所以我禁用了这些,但它仍然会发生。

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

谢谢你, 萨姆

1 个答案:

答案 0 :(得分:1)

因为不同的插槽可以被视为不同的应用程序。如果您的请求在Web应用程序交换时在生产槽上处于待处理状态,则它应该会失败。我们可以找到原因:

  

最后,以前是Production并且现在正在进行Staging的站点也需要应用一些设置,导致它重新启动。同样,这很好,因为它发生在暂存站点。

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

有关网站互换的详情,请参阅https://github.com/projectkudu/kudu/wiki/Understanding-site-swapshttp://ruslany.net/2015/09/how-to-warm-up-azure-web-app-during-deployment-slots-swap/