我们希望让我们的客户能够每天、每周和每月安排重复任务。线性可扩展性对我们来说非常重要,这就是我们使用 Windows Azure 表存储而不是 SQL Azure 的原因。当前的设计如下: - 调度信息存储在一个 Table Storage 表中。例如:任务 A,每天;任务 B,每周;... - 有工作进程,每小时运行并查询此表。然后决定,他们是否必须运行给定的任务。
但是,如果多个工作角色开始运行同一个任务怎么办?
其他一些要求: - 工作进程可以在不同的时区。
Windows Azure 队列存储可以解决上面提到的所有并发问题,但它也引入了一些新问题: - 我们应该生成多少个队列项?- 如果客户更改重复率或撤销计划怎么办?
所以,我的问题是:如何使用 Windows Azure 存储设计一个具有多个异步工作人员的重复任务调度程序?