Раньше была рабочая роль в Azure, теперь я не вижу ее - так что использовать для фоновых/запланированных задач, таких как обслуживание, отправка электронной почты и т. Д., Следует создать виртуальную машину и создать там службы Windows или там проще?Windows Azure - фоновые/запланированные задачи?
ответ
Определяющим (текущим) руководством для этого FAQ является Guarav's Building a Simple Task Scheduler in Windows Azure - который, как оказалось, не так прост, и он не очень подходит для сайтов Azure (но скорее для ролей).
Простейшим решением является создание маршрутов RESTful (ish) (контроллеров и т. Д.) С использованием чего-то вроде MVC Web API и получения планировщика заданий cron, чтобы отбросить их. Недавно я использовал Aditi cloud scheduler, который дает вам эти рабочие места и является бесплатным (5000 звонков в месяц) на рынке.
Я смотрел на облачный планировщик Aditi, но я не вижу его в магазине Azure adon, возможно, он доступен только в определенных регионах. – Giedrius
Взял меня, чтобы найти его в первый раз ... он называется «планировщик» в магазине –
Роли веб-и рабочих являются частью модели облачного сервиса, и оба существуют и никуда не ушли.
Как указано в комментариях к вашему вопросу, портал не способствует созданию этих ролей; это то, что вы создали, либо через Visual Studio, Eclipse (рабочая роль), либо PowerShell.
И вам не нужна роль рабочего для фоновых задач. Как упоминалось в десятках других ответов, рабочие и веб-роли являются шаблонами для виртуальных машин Windows Server. Поскольку виртуальные машины являются безстоящими и каждый раз перезапускаются с той же базовой линии, шаблон формирует то, что устанавливается при запуске.
Вы можете запускать фоновые задачи в виде потока в роли веб-роли или роли пользователя. Поэтому, если вы этого захотите, вы можете запускать все фоновые задачи в тех же экземплярах веб-роли, что и ваш веб-сайт.
Я рекомендую проработать некоторые из основных примеров в Azure Training Kit, которые проходят через создание различных ролей из Visual Studio.
мой веб-сайт будет использовать функцию веб-сайтов - так как я понимаю, что там небезопасно выполнять фоновые задачи, потому что перезагрузка пула приложений может прервать фоновое задание? – Giedrius
Вы никогда не упоминали сайты в своем оригинальном вопросе. Веб-сайты не являются местом для настройки фоновой обработки.Я просто указывал, что роль рабочего не является единственным механизмом для фоновых задач. Многие приложения запускают свои веб-приложения в роли веб-роли и иногда создают отдельную роль рабочего (со своими собственными экземплярами) для выполнения фоновых задач, и это не всегда необходимо (оно предназначено для масштабирования, но это другая тема). –
Существует этот новый планировщик http://www.windowsazure.com/en-us/services/scheduler/
Windows Azure Планировщик позволяет вызывать действия, такие как вызов HTTP/S конечных точек или размещения сообщения в очередь на хранение любого графика. С помощью Scheduler вы создаете рабочие места в облаке, которые надежно называют службы как внутри, так и снаружи Windows Azure и запускают эти задания по требованию, регулярно повторяющиеся расписания или назначают их на будущую дату. Эта служба в настоящее время доступна как автономный API.
Если вы используете Azure Web Sites (и они очень хорошо), то есть новая WebJobs функция, которая позволяет совать HTTP (S) конечной точки или запуска сценариев по расписанию.
Что значит «раньше, была рабочая роль в Лазуре», там все еще есть. или вы говорите о своей роли в сети Azure больше не существует? – JuneT
Роли рабочих по-прежнему доступны в Azure. Что заставляет вас думать, что это не так. Принимаете ли вы свое конкретное развертывание? – Chandermani
Я не мог найти, как создать роль веб-роли в новом портале управления, нажав кнопку «новый», и большинство результатов Google выглядят устаревшими? – Giedrius