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

时间:2016-08-10 12:24:45

标签: azure azure-webjobs octopus-deploy azure-webjobssdk

我有一个连续的webjob需要在TimerTrigger上的两个位置运行两个webapp。当我从Visual Studio将webjob部署到两个位置时,一切运行良好,两个webjobs同时运行。

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

我没有对Singletons做任何事情,并且实际上尝试使用带有{is_singleton: false}的'settings.job'文件将其关闭。 Octopus是否正在使用该软件包使Azure认为webjob是单例?

1 个答案:

答案 0 :(得分:2)

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

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