Azure Task Scheduler
Хотя этот вопрос особенно важен для Azure, я уверен, что это обычная ситуация для облачных вычислений вообще.
У меня есть список задач, которые мне нужно запустить в определенное время. С помощью оконного сервера я могу использовать планировщик заданий и планировать свою программу для запуска в определенное время. Я мог бы сделать еще один шаг и создать службу Windows, которая будет выполняться с заданным интервалом, а затем выполнить соответствующую задачу.
Есть ли у кого-нибудь предложение о наилучшем подходе к среде облачных вычислений?
Я мог бы создать рабочую роль, которая каждую секунду проверяет список задач, а затем бросает соответствующую задачу в очередь, которая обрабатывается другой рабочей ролью.
Я мог бы создать рабочую роль, которая будет выполняться один раз в день, захватить все задачи и отправить их в очередь. Роли процессора затем вытащили бы элемент из очереди и обработали в соответствующее время.
Любые другие предложения?
Ответы
Ответ 1
Вы можете настроить очередь служебной шины и использовать ее в качестве планировщика.
Отправляйте сообщения в очередь, устанавливая ScheduledEnqueueTimeUtc в сообщении до желаемого времени, и сообщение появится в очереди на этом время. В исполняющей роли работника/веб-роли вы настраиваете получателя в этой очереди и затем получаете задание сразу же после появления сообщения, т.е. Задание должно выполняться.
Самое приятное в том, что вы можете использовать это для выравнивания заданий по нескольким экземплярам, и поскольку таймер полностью является внешним для вашего приложения, вам не нужно хранить и воскрешать и управлять им. SB делает все это для вас.
Одно предостережение: SB не имеет возможности отменить запланированные сообщения.
Ответ 2
Теперь есть несколько вариантов для этого на Azure
Ответ 3
Дубликат: Рекомендовать библиотеку расписания задач С#, которая рекомендует Quartz.Net. Недавно я работал над проектом, который успешно использовал это приложение под Windows.
Ответ 4
Я понимаю, что это старо, но это все еще общий вопрос. Я использую планировщик задач Windows на одной из моих Azure VM. Это просто реализовать и избавит вас от необходимости изобретать колесо.
http://www.voiceoftech.com/swhitley/index.php/2011/07/windows-azure-task-scheduler/
Ответ 5
Можно попробовать с четырьмя предложениями:
- Роли рабочих Azure (облачная служба)
- Услуга Azure Scheduler
- Планировщик Azure для мобильных сервисов
- Веб-сайты Azure Websites
Для получения дополнительной информации перейдите по ссылке
Задачи расписания Azure
Ответ 6
Рассматривали ли вы использование дат истечения срока действия элементов в очереди Azure?
Я столкнулся с новым подходом к планированию, который должен работать и на Azure. Использование обратных вызовов элемента кэша ASP.NET. Здесь.
Ответ 7
Вы можете расписание задач в мобильных сервисах.
Nice демонстрационное видео, также.