Планировщик заданий Azure - PullRequest
18 голосов
/ 21 февраля 2009

Хотя этот вопрос относится к Azure, я уверен, что это общая ситуация для облачных вычислений в целом.

У меня есть список задач, которые мне нужно выполнить в определенное время. На сервере окна я могу использовать планировщик задач и планировать запуск своей программы в определенное время. Я мог бы пойти дальше и создать службу Windows, которая будет запускаться с заданным интервалом и затем выполнять соответствующую задачу.

У кого-нибудь есть предложения относительно лучшего подхода для среды облачных вычислений?

Я мог бы создать рабочую роль, которая опрашивает список задач каждую секунду, а затем выбрасывает соответствующую задачу в очередь, которая обрабатывается другой рабочей ролью.

Я мог бы создать рабочую роль, которая будет запускаться раз в день, захватывать все задачи и отправлять их в очередь. Затем роли процессора вытягивают элемент из очереди и обрабатывают в соответствующее время.

Любые другие предложения?

Ответы [ 7 ]

8 голосов
/ 17 мая 2012

Вы можете настроить очередь служебной шины и использовать ее в качестве планировщика.

Отправьте сообщения в очередь, установив ScheduledEnqueueTimeUtc в сообщении в нужное время, и сообщение будет отображаться в очереди в это время. В исполняющей роли «работник / веб» вы настраиваете получателя в этой очереди, и он получит задание, как только появится сообщение, то есть срок выполнения задания.

Приятно то, что вы можете использовать это для балансировки заданий между несколькими экземплярами, и, поскольку таймер является полностью внешним по отношению к вашему приложению, вам не нужно его хранить, воскрешать и управлять им. SB делает все это для вас.

Одно предупреждение: у SB нет возможности отменять запланированные сообщения.

7 голосов
/ 06 февраля 2014

Теперь есть несколько вариантов сделать это в Azure

1 голос
/ 12 мая 2014

Йо можно попробовать с четырьмя предложениями:

  1. Рабочие роли Azure (облачная служба)
  2. Служба планировщика Azure
  3. Планировщик мобильных служб Azure
  4. Веб-задания на веб-сайтах Azure

Для получения дополнительной информации, пожалуйста, перейдите по ссылке Задачи расписания Azure

1 голос
/ 12 июля 2011

Я понимаю, что это старый, но это все еще общий вопрос. Я использую планировщик заданий Windows на одной из моих виртуальных машин Azure. Это просто реализовать и избавляет вас от необходимости изобретать велосипед.

http://www.voiceoftech.com/swhitley/index.php/2011/07/windows-azure-task-scheduler/

1 голос
/ 21 февраля 2009

Дубликат: Рекомендовать библиотеку планирования задач C # , которая рекомендует Quartz.Net . Недавно я работал над проектом, который успешно использовал это под Windows.

0 голосов
/ 27 февраля 2013
0 голосов
/ 21 февраля 2009

Рассматривали ли вы использование переменных дат истечения срока хранения элементов в очереди Azure?

Я столкнулся с новым подходом к планированию, который должен работать и в Azure. Использование обратных вызовов элемента ASP.NET Cache. Здесь .

...