gpt4 book ai didi

azure - Octopus 部署的连续 WebJob 不在两个位置同时运行

转载 作者:行者123 更新时间:2023-12-03 01:50:25 24 4
gpt4 key购买 nike

我有一个连续的 Web 作业,需要在 TimerTrigger 上的两个位置运行两个 Web 应用程序。当我将 Web 作业从 Visual Studio 部署到这两个位置时,一切正常,并且两个 Web 作业同时运行。

现在我已准备好开始使用 Octopus-Deploy 进行部署。我已成功创建了一个包含两个步骤的计划,该计划将程序集放置在 Azure 中 Web 应用程序 (app_data\jobs\continuous\{jobname}) 下的正确位置。问题是,即使两个 Web 作业的状态均为“正在运行”,一次也只有一个 Web 作业执行其作业。如果我停止并启动正在执行的 Web 作业,则另一个 Web 作业将开始执行其作业,而我关闭/打开的 Web 作业则处于运行状态,但不会执行其作业。另外,如果我从 Visual Studio 中重新部署其中一个,它们都会再次在两个位置执行其工作。

我没有对单例进行任何操作,并且实际上尝试通过使用 {is_singleton: false} 的“settings.job”文件来关闭它。 Octopus 是否正在对包执行某些操作,从而使 Azure 认为 Web 作业是单例?

最佳答案

我的猜测是,该问题是由于您部署的两个应用程序使用相同的存储帐户和主机 ID 引起的。当您执行此操作时,WebJobs SDK 将其视为已扩展到两个实例的单个 Web 应用程序,并确保计时器仅在其中一个实例上运行。

最简单的解决方案是为每个应用使用不同的存储帐户。

关于azure - Octopus 部署的连续 WebJob 不在两个位置同时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38873367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com