【发布时间】:2012-06-20 12:31:15
【问题描述】:
我想在我的 Windows azure 应用程序中执行作业调度程序方法。所以在我的应用程序中,我使用了同一应用程序的 2 个实例。所以如果我创建一个调度程序意味着两个实例都可以执行相同的代码。是否有可能避免这种执行?或者是否可以在执行代码之前检查其他实例?对于实现,我使用的是 c#.Net。
【问题讨论】:
标签: c# azure azure-storage
我想在我的 Windows azure 应用程序中执行作业调度程序方法。所以在我的应用程序中,我使用了同一应用程序的 2 个实例。所以如果我创建一个调度程序意味着两个实例都可以执行相同的代码。是否有可能避免这种执行?或者是否可以在执行代码之前检查其他实例?对于实现,我使用的是 c#.Net。
【问题讨论】:
标签: c# azure azure-storage
最常见的模式是自选控制器。在这种模式中,当这些进程启动时,它们会尝试在某物上创建独占租约,例如 blob 对象。获得租约的第一个过程是实际执行需要完成的任何处理的过程。然后它还将定期更新租约,以确保它仍然是“控制者”。任何未能获得租约的实例然后进入睡眠状态并稍后(几分钟、几秒、几小时......)查看它们是否可以立即获得租约并成为控制器。这允许原始控制器崩溃或关闭,然后另一个实例将接管作为控制器的工作。
【讨论】: