Кто-нибудь может объяснить разницу между веб-заданиями Azure и планировщиком Azure?
В чем разница между веб-заданиями Azure и планировщиком Azure в Microsoft Azure?
Ответы (2)
Веб-задания Azure
- Доступно только на веб-сайтах Azure.
- Он используется для запуска кода через определенные промежутки времени. Например. консольное приложение каждый день
- Используется для запуска и запуска рабочих нагрузок.
- В основном рекомендуется для рабочих нагрузок, которые либо масштабируются вместе с веб-сайтом, либо являются относительно небольшими.
- Может работать постоянно, если выбрано «Всегда включено», в противном случае вы получите 20-минутный тайм-аут.
- Код, который необходимо запустить, и расписание определяются вместе.
Планировщик Azure
- Не привязан к веб-сайтам или облачным сервисам
- Позволяет вызвать веб-сайт или добавить сообщение в очередь хранения.
- Используется для запуска событий или запуска небольших рабочих нагрузок (например, добавление в очередь), обычно для запуска более крупных рабочих нагрузок.
- В основном рекомендуется для запуска более сложных рабочих нагрузок.
- Это всего лишь триггер, и отдельная функция прослушивания событий триггера (например, очереди) должна быть закодирована отдельно.
Для многих экземпляров я предпочитаю использовать планировщик для отправки в очередь хранилища, а рабочая роль в каждом экземпляре удаляется из очереди. Это обеспечивает детальный контроль задач, а также может перемещаться вверх или вниз по шкале за пределами вашего веб-сайта.
С веб-заданиями они масштабируются вверх и вниз вместе с вашим сайтом, и, следовательно, ваши фоновые задачи могут стать чрезмерно облагаемыми налогом, если ваш сайт испытывает низкий трафик и масштабируется.
Azure Scheduler – позволяет легко планировать HTTP-вызовы по четко определенному расписанию, например, каждый час, каждую пятницу в 9:00, один раз в день, ...
Azure WebJobs. Позволяет выполнять небольшие и средние рабочие нагрузки (в форме сценария: .exe, .cmd, .sh, .js, ...) в том же контексте, что и Веб-сайт Azure (но может быть размещен даже при пустом веб-сайте).
В то время как веб-задание может выполняться непрерывно (с процессом, имеющим цикл while), Azure будет следить за тем, чтобы это веб-задание всегда выполнялось (с установленным параметром «Всегда включено»).
Существует также интеграция между планировщиком Azure и веб-заданиями Azure, где у вас есть веб-задание, которое выполняет некоторую конечную работу, а планировщик отвечает за планирование этой работы (вызов веб-задания).
Таким образом, планировщик предназначен для планирования работы, а веб-задания — для выполнения рабочей нагрузки.