- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已在 Azure DevOps 中设置了一个部署管道,它将 .NET 5 Web API 部署到 Azure Linux Web 应用部署槽。部署完成后,它将部署槽与生产槽交换。
交换按其应有的方式工作,但速度相当慢 - 交换大约需要 5 分钟。看起来预热很快,但占用时间的却是交换。
我的管道 yaml 任务如下所示:
- task: AzureWebApp@1
displayName: "Deploy My webapp"
inputs:
azureSubscription: <azureSubscriptionName>
appType: 'webAppLinux'
deployToSlotOrASE: true
appName: 'my-web-app'
slotName: 'my-web-app-slot'
package: '$(PIPELINE.WORKSPACE)/MyWebApp/MyWebApp.zip'
- task: AzureAppServiceManage@0
inputs:
azureSubscription: <AzureSubscriptionName>
Action: 'Swap Slots'
WebAppName: 'my-web-app'
ResourceGroupName: 'MyResourceGroup'
SourceSlot: 'my-web-app-slot'
在执行Swap Slots
任务时查看管道的日志,执行了以下“任务”:
热身时段
交换应用服务“my-web-app”插槽 -“my-web-app-slot”和“生产”
热身时段
几乎是即时的。它执行三次 GET
请求,其中第三次请求返回应用服务状态代码:“302”。状态消息:“找到”
表示插槽确实已启动/已预热。
交换应用程序服务“my-web-app”插槽 -“my-web-app-slot”和“生产”
是所有时间都被使用的地方。我首先向 URL 发送 POST
请求:https://management.azure.com/subscriptions/mysubscription/resouceGroups/myresourcegroup/providers/Microsoft.Web/sites/my-web -app/slots/my-web-app-slot/slotsswap?api-version=2016-08-01
在POST
之后,它开始对URL执行GET
请求:https://management.azure.com/subscriptions/mysubscription/resouceGroups/myresourcegroup/providers/Microsoft.Web/sites/my-web-app/slots/my-web-app-slot/operationresults/some-guid?api-version=2016-08-01 ==> undefined
返回状态代码202
从上述 GET 请求中获取 202
后 4 - 5 分钟,最终收到 200
http 响应,交换完成。
问题是:在交换期间,GET 请求不断返回 202 http 状态代码,到底发生了什么?还有:有什么方法可以加快这个过程吗?
提前非常感谢。
最佳答案
谢谢@dixitarora-msft ,您需要根据状态代码进行交换,方法是在应用设置中添加 WEBSITE_SWAP_WARMUP_PING_PATH
和 WEBSITE_SWAP_WARMUP_PING_STATUSES
在交换操作期间,暂存槽中的站点通过向以下位置发出 HTTP
请求来预热:它的根目录。引用这里How to warm up Azure Web App during deployment slots swap .
默认情况下,一旦网站响应任何状态代码
,交换就会继续。如果应用程序无法预热
,交换无法继续,那么您可以使用以下应用程序设置进行配置:
WEBSITE_SWAP_WARMUP_PING_PATH:发出预热请求的路径。将其设置为以斜线开头的 URL 路径作为值。例如,“/warmup.php”。默认值为/。
WEBSITE_SWAP_WARMUP_PING_STATUSES:预热操作的预期 HTTP 响应代码。将其设置为以逗号分隔的 HTTP 状态代码列表。例如:“200,202”。如果返回的状态码不在列表中,则交换操作将无法完成。默认情况下,所有响应代码均有效。
引用here
关于azure - Azure Linux Web 应用程序上交换插槽速度缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69802490/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
所以我正在开发一个黑 jack 程序,但我有点卡住了。我会警告大家,我对编程真的很陌生,而且,我正在项目中期......所以有一些松散的结局和未使用的变量,以及一些不必要的逻辑(用于测试),但这就是我
我正在尝试创建一个可用作 OpenGL 测试工具的示例程序。到目前为止,我的那个似乎可以工作,但似乎忽略了通过统一变量 MVPMatrix 传递的 MVP 矩阵。当我添加代码以读回制服并检查它是否确实
感谢您帮助我,这是有关我的代码的部分。 printf("Thank you, now please enter the logic gate"); scanf("%s", &C); if (C ==
public static void ejemplosString(String palabra){ char[] letras = palabra.toCharArray();
所以,我有一个 php 应用程序,通过 cgi 和 nginx 运行。我有一个 .jar 程序,用于在条形码打印机(Zebra)上打印条形码,猜猜看是什么!。 我的 php 应用程序使用 exec()
我遇到的唯一问题是 getAll() 方法,它似乎在 PersonnelController 类中的位置立即运行。我也曾在其他很多地方尝试过,但都没有成功。 setAll() 方法看起来不错,我已经测
我是一名优秀的程序员,十分优秀!