Azure webjobs vs scheduler
Очень простой вопрос:
Зачем кому-то использовать планировщик Azure, если веб-задания Azure бесплатны?
Я не смог найти ни одной темы, касающейся "azure webjobs vs azure scheduler"
Основное отличие состоит в том, что веб-работа содержит все, что может сделать планировщик:
- Планировщик может совершать HTTP-звонки
- WebJob может сделать это и многое другое (запускать команды SQL и т. Д.)
3 ответа
Это 2016 год. Ответы ниже не точны.
У WebJobs теперь также есть встроенный планировщик, и расписание может быть определено выражением cron.
При публикации в Azure вы можете выбрать, хотите ли вы, чтобы WebJob запускался планировщиком или внутренним планировщиком WebJob.
Важное примечание. Планировщик Azure имеет ограничения по частоте 1 час или 1 мин в зависимости от того, оплачивается он или нет. Однако для внутреннего планировщика ваша служба приложений требует, чтобы Always On продолжал работать и запускать задание. Этот статус "Всегда включен" может повлиять на ваши цены.
Фактические биты планирования WebJobs строятся поверх планировщика. Когда вы настраиваете веб-задание по расписанию, оно использует планировщик для его запуска. WebJobs предоставляет удобное место для размещения исполняемого кода. Фактически, если вы создаете WebJobs для веб-сайта, загляните в Планировщик на портале, и вы также увидите их в списке.
Также обратите внимание, что планировщик может вызывать другие системы, на которых не работает Azure. Если у вас есть что-то, работающее в облачной службе, которое нужно регулярно вызывать, или даже если что-то было размещено в другом месте (у другого поставщика или локально), планировщик - это место, где вы можете настроить это.
Что касается аспекта затрат, у планировщика также есть бесплатный уровень: http://www.windowsazure.com/en-us/pricing/details/scheduler/.
Непрерывные задания отслеживаются, и если они завершаются, они выполняются повторно. Таким образом, они действуют как "сервисы" на вашем локальном компьютере. Существует модуль, который отслеживает и поддерживает работу вашего приложения. Always-ON - это функция, которая поможет вашему сайту остаться в живых, а значит, ваши веб-задания будут работать непрерывно.
Планировщик используется для запуска веб-заданий. Он использует учетную запись пользователя планировщика (не внутреннюю учетную запись). Таким образом, вы можете выйти из бесплатного уровня для планировщика, подписаться на более высокие уровни в соответствии с вашими потребностями. Но, по сути, все, что делает планировщик, - это подключение к конечной точке https (которая общедоступна, но требует вашей авторизации).
Триггерные задания (запланированные и по запросу) вызываются с помощью вызова https. Эти вызовы сбалансированы по нагрузке - во многом так же, как веб-приложение со многими экземплярами - со сбалансированной нагрузкой Непрерывные задания по умолчанию выполняются одновременно, но могут быть заданы как одиночные.
Для веб-заданий, начиная с версии 2, больше нет причин использовать Планировщик Azure. Фактически, портал Azure уже помечает эту функцию как (устаревшая).
В WebJob SDK v2 были добавлены дополнительные триггеры, и один из них - TimerTrigger, который работает с выражениями CRON для планирования выполнения. Этот режим выполнения не требует какой-либо дополнительной конструкции Azure, вам просто нужно, чтобы веб-приложение было установлено как AlwaysOn, чтобы гарантировать выполнение веб-задания.
Еще одна служба Azure, которая работает с TimerTriggers, - это функции Azure, построенные на основе пакета SDK для веб-заданий, который позволяет выполнять бессерверное выполнение.