在具有多个实例的windows azure中执行方法

时间:2012-06-20 12:31:16

标签: c# azure azure-storage

我想在我的windows azure应用程序中执行作业调度程序方法。所以在我的应用程序中我使用相同应用程序的2个实例。因此,如果我创建一个调度程序意味着该实例都可以执行相同的代码。是否有可能避免这种执行?或者是否可以在执行代码之前检查其他实例?对于我正在使用c#.Net。

的实现

1 个答案:

答案 0 :(得分:1)

最常见的模式是自动选择控制器。在这种模式中,当这些进程开始时,它们会尝试在某些东西上创建一个独占租约,比如blob对象。获得租约的第一个过程是实际执行任何需要处理的过程。然后它还会定期更新租约,以确保它仍然是“控制器”。任何未能获得租约的实例然后进入休眠状态并稍后再检查(分钟,秒,小时......)以查看他们是否可以立即获得租约并成为控制器。这允许原始控制器崩溃或关闭,然后另一个实例将接管作为控制器的工作。