node.js - Azure Web App 在交换期间丢弃请求

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

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

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

我在某处读到粘性插槽设置可能会导致此问题,因此我禁用了这些设置,但它仍然会发生。

有什么想法吗?这是一个 NodeJs Web 应用程序。

谢谢你, 山姆

最佳答案

因为不同的插槽可以被视为不同的应用程序。如果当 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-swapshttp://ruslany.net/2015/09/how-to-warm-up-azure-web-app-during-deployment-slots-swap/有关站点交换的更多信息。

关于node.js - Azure Web App 在交换期间丢弃请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39029092/

相关文章:

javascript - 在 AWS Lambda 中获取正文请求

javascript - Windows 10 本地主机请求 ECONNREFUSED

node.js - Node.js 中同步获取 url?

Azure API 应用程序添加了额外的 Access-Control-Allow-Origin header

Linux Swap Usage Oneliner 仅输出数字

node.js - 如何模块化 AngularJS 应用程序/插件

azure - NUnit azuredevops 管道

session - 让 Windows Azure 共享缓存与 ReportViewer 配合使用

Python:如何有效地创建数组的所有可能的 2 元素交换?

c++ - 在没有额外内存的情况下移动数组中的一系列元素?