我有一个连续的two作业,需要在TimerTrigger上的两个位置运行两个two应用程序。当我将well作业从Visual Studio部署到这两个位置时,一切都运行得很好,并且两个well作业同时运行。
现在我准备开始使用Octopus-Deploy部署它。我已经成功地创建了一个包含两个步骤的计划,并将程序集放在Azure中web应用程序(app_data\jobs\continuous\{jobname})下的正确位置。问题是一次只有一个webjob执行它的作业,即使两个webjob的状态都是Running。如果我停止并启动正在执行的job job,另一个job job将开始执行它的作业,而我关闭/打开的那个job job的状态是running,但不会执行它的作业。此外,如果我从visual studio中仅重新部署其中一个,则它们都会在两个位置再次执行作业。
我没有对单例做任何事情,实际上我已经尝试通过在{is_singleton: false}中使用一个'settings.job‘文件来关闭它。是不是Octopus对这个包做了什么,让Azure认为webjob是单例的?
发布于 2016-08-10 23:27:43
我猜这个问题是因为你部署的两个应用程序使用了相同的存储帐户和主机id。当你这样做的时候,WebJobs软件开发工具包会把它看作一个扩展到两个实例的Web App,并确保计时器只在其中一个实例上运行。
最简单的解决方案是为每个应用程序使用不同的存储帐户。
https://stackoverflow.com/questions/38873367
复制相似问题