Мы хотели бы, чтобы наши клиенты могли планировать повторяющиеся задачи ежедневно, еженедельно и ежемесячно. Линейная масштабируемость действительно важна для нас, поэтому мы используем Windows Azure Table Storage вместо SQL Azure. Текущий проект выглядит следующим образом: - Информация о расписании хранится в таблице хранения таблиц. Например: Задача A, ежедневно; Задача B, еженедельно; ... - Есть рабочие процессы, которые выполняются ежечасно и запрашивают эту таблицу. Затем решите, что они должны выполнять задание или нет.Планировщик асинхронных повторяющихся задач в Windows Azure
Но что, если несколько рабочих ролей начинают запускать одну и ту же задачу?
Некоторые другие требования: - Рабочие процессы могут находиться в разных часовых поясах.
Windows Azure Queue Storage может решить все проблемы cuncurrency, упомянутые выше, но также вводит некоторые новые проблемы: - Сколько элементов очереди мы должны генерировать? - Что делать, если клиент изменяет скорость повторения или отменяет планирование?
Итак, мой вопрос: как создать повторяющийся планировщик задач с несколькими асинхронными рабочими, используя Windows Azure Storage?