0

我有 2 个 azure 触发的 Web 作业(时间触发器),但我想确定,只有一个正在运行。因此,如果 second 正在运行,则 first 应该等待,反之亦然。我不想将两个 Web 作业合并为一个(它由不同的开发人员开发和支持),我只想确定只有一个正在运行。怎么做?

4

1 回答 1

1

可能的解决方案
一种可能的解决方案是让所有 Web 作业响应数据库中的信号量、Azure 存储或类似的东西。这样,您就可以集中控制 Web 作业流程的价值。请记住,这会降低性能。

我的两分钱
这感觉像是次优设计。不想让两个 Web 作业同时运行的原因是什么?如果主要原因是 WJ2 依赖于 WJ1,则让 WJ1 向队列发送消息以触发 WJ2。这样你就可以确定 WJ2 只会在 WJ1 运行之后运行。

于 2018-03-07T08:51:09.733 回答