- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们的消费计划中有一个 Azure Function v3 实例,其中包括一个暂存槽以减少部署期间的停机时间。
我们的部署流程是:
我们使用 Azure Pipelines 将代码 .NET Core 3.1 部署到暂存槽;这是此步骤的 YAML 定义:
- task: AzureFunctionApp@1
displayName: 'Deploy to Staging Slot'
inputs:
azureSubscription: '****'
appType: functionApp
appName: '****'
package: '$(System.ArtifactsDirectory)/Build.zip'
deployToSlotOrASE: true
slotName: 'staging'
resourceGroupName: '****'
我已禁用此步骤之后的所有步骤,并且仅运行此步骤。在 Azure Pipelines 中完成该步骤后,主应用程序(即生产槽)将重新启动,我开始收到 503 Service Unavailable 消息约 5 秒,然后是冷启动。
我不明白的是,在不交换的情况下将代码部署到暂存槽会如何导致生产槽重新启动。
我已确保自动交换已禁用,所以情况并非如此。
如何解释和解决这个问题?我们正在尝试完全删除 503 并实现零停机部署。
更新:我已经尝试将 WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG
添加到暂存和生产插槽中。没有什么区别。
最佳答案
我们遇到了同样的问题。即使我们的部署仅部署 ZIP(因此没有资源部署),我们也可以重现此问题。所有推荐的设置(例如 WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG
和 WEBSITE_RUN_FROM_PACKAGE
)已成为应用配置的一部分,所有其他设置对于两个插槽都相同,并且没有粘性设置。
我们的情况有问题的设置是 WEBSITE_CONTENTSHARE
。这些设置与 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
一起,对于在事件驱动的扩展计划(例如消耗计划)中存储函数应用代码和配置是必需的。
根据文档,WEBSITE_CONTENTSHARE
需要是唯一的。可以将其从 ARM 模板中删除,在这种情况下,将自动生成一个值。检查两个插槽的 Azure 门户(或 Kudo)中的应用程序配置,以确保此设置具有唯一的值。
如果此设置的值不唯一,则会影响生产插槽的“缩放”,因为两个插槽现在共享相同的代码和配置。这似乎是当代码部署到暂存槽时生产槽重新启动的原因。
关于Azure函数: Deploying to Staging Slot Restarts Production Slot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66166423/
我正在学习 Vue.js,并且正在努力寻找一种组织代码的方法。我试图让一切尽可能模块化,所以在制作 slider 时我做了以下事情: export
我有一个像这样定义的 Web 组件自定义元素。 class Dropdown extends HT
我遇到了这样的崩溃: #0 0x90b05955 in __gnu_debug::_Safe_iterator_base::_M_detach #1 0x90b059ce in __gnu_deb
正如标题中所写 - “信号和插槽”是一种简单的响应式(Reactive)编程方式吗? 最佳答案 Signals/Slots是 Observer Pattern 的实现. 来自维基 Reactive P
我有一个关于太阳系行星列表的 intent 。 { "intent": "PlanetIntent", "slots": [ { "nam
我们的消费计划中有一个 Azure Function v3 实例,其中包括一个暂存槽以减少部署期间的停机时间。 我们的部署流程是: 将代码部署到暂存槽 启动暂存槽 将暂存槽与生产槽交换 停止暂存槽 我
我们的消费计划中有一个 Azure Function v3 实例,其中包括一个暂存槽以减少部署期间的停机时间。 我们的部署流程是: 将代码部署到暂存槽 启动暂存槽 将暂存槽与生产槽交换 停止暂存槽 我
我遇到一个同步组件 JavaScript 在实际显示之前加载的问题。 使用 dynamic-import 导入的组件在需要时使用 v-if 显示以加载它们。当它们被显示时,它们的 JavaScript
我有 6 个 subdag。它们中的每一个都包含一个带有 pool='crawler' 的任务。这需要大量资源,所以我创建了一个池 crawler只有 1 个插槽。 当我运行 DAG 时,似乎绕过了池
Vue 对象有一个非常有用的成员,叫做 $attrs。什么$attrs does 包含所有未被识别为当前组件 props 的属性。 $attrs 的一个很好的例子是 here . 我想知道 $scop
我有一个运行 Node.js 应用程序的 Azure Function App v3,该应用程序具有生产槽和阶段槽。使用在部署中心创建的操作将其部署到 GitHub。我有一项针对 prod 的部署操作
我有一个运行 Node.js 应用程序的 Azure Function App v3,该应用程序具有生产槽和阶段槽。使用在部署中心创建的操作将其部署到 GitHub。我有一项针对 prod 的部署操作
我有一个事件架构: owner: { type: Schema.Types.ObjectId, ref: 'User', required: true }, participa
我想测试这个FooComponent: 它是这样使用的(例如在 ParentComponent 中): 因此,我想测试我的组件对从 slot Prop 调用此“fn
我有一个意图,其中包含三个必需的插槽(我们称它们为:slot_a、slot_b、slot_c),所有类型都是 @系统编号。当检测到意图时,系统会提示我询问缺少的插槽: What's slot_a? 我
我有这个预订表结构 |ID|timeBooked | duration | |2 |2013-05-09 11:10:00| 30 | |1 |2013-05-09 14:
突然开始在所有 Azure App Services 中持续发生使用Deployment Slots . Error Message: "Failed swapping site. Error: Ca
我在我的azure应用程序服务中创建了多个插槽(测试、阶段和产品)。同样,我为每个环境创建了各自的 web.config 文件。我正在测试环境槽中通过 octopus 部署工具部署我的应用程序,因此最
所以我正在尝试使用 C++ 学习 Qt Framework。我正在了解信号和插槽,但我很难创建自定义插槽。因此,当我按照一些教程进行操作时,我的程序出现了以下错误: QObject::connec
如何引用 Vue.js 中的文本? Vue.component('component', { template: ``, created: function() { // i woul
我是一名优秀的程序员,十分优秀!