Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете выполнять развёртывание веб-заданий с помощью портала Azure путем загрузки исполняемого файла или скрипта. Фоновые задачи можно выполнять в Службе приложений Azure.
Если вместо службы приложение Azure вы используете Visual Studio для разработки и развертывания веб-заданий, см. статью "Развертывание веб-заданий с помощью Visual Studio".
Примечание.
Веб-задания для контейнера Windows, кода Linux и контейнера Linux доступны в предварительной версии. WebJobs for Windows code is generally available and not in preview.
Обзор
Веб-задания — это функция службы приложений Azure, которая позволяет запускать программу или скрипт в том же экземпляре, где и веб-приложение. All app service plans support WebJobs. There's no extra cost to use WebJobs.
Примечание.
Начиная с 1 июня 2024 года только что созданные приложения службы приложений могут создать уникальное имя узла по умолчанию, использующее соглашение об именовании <app-name>-<random-hash>.<region>.azurewebsites.net
. Например: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
. Существующие имена приложений остаются неизменными.
Дополнительные сведения см. в записи блога о создании веб-приложения с уникальным именем узла по умолчанию.
You can use the Azure WebJobs SDK with WebJobs to simplify many programming tasks. For more information, see What is the WebJobs SDK.
Функции Azure предоставляют еще один способ запуска программ и сценариев. Чтобы сравнить веб-задания и функции, см. Выбор между Flow, Logic Apps, функциями и веб-заданиями.
Типы веб-заданий
Поддерживаемые типы файлов для сценариев и программ
Следующие типы файлов поддерживаются:
.cmd, .bat, .exe (с помощью Windows cmd)
.ps1 (с помощью PowerShell)
.sh (using Bash)
.js (using Node.js)
.jar (с использованием Java)
Необходимые среды выполнения этих типов файлов уже установлены в экземпляре веб-приложения.
Непрерывные и триггерные веб-задания
В следующей таблице описываются различия между непрерывными и триггерными веб-заданиями:
Непрерывный | Triggered |
---|---|
Запускается сразу после создания веб-задания. Чтобы предотвратить завершение задания, программа или сценарий обычно выполняют свою работу в бесконечном цикле. Если задание завершается, его можно перезапустить. Обычно используется с WebJobs SDK. | Запускается только при активации вручную или по расписанию. |
Запускается на всех экземплярах, на которых работает веб-приложение. You can optionally restrict the WebJob to a single instance. | Запускается на одном экземпляре, который выбран Azure для балансировки нагрузки. |
Поддерживает удаленную отладку. | Не поддерживает удаленную отладку. |
Code is deployed under \site\wwwroot\app_data\Jobs\Continuous . |
Code is deployed under \site\wwwroot\app_data\Jobs\Triggered . |
Примечание.
Время ожидания веб-приложения может истечь через 20 минут бездействия, и только запросы к реальному веб-приложению могут сбросить таймер. Viewing the app's configuration in the Azure portal or making requests to the advanced tools site (https://<app_name>.scm.azurewebsites.net
) doesn't reset the timer. Если вы настраиваете веб-приложение, которое выполняет задание непрерывно, по расписанию или с использованием триггеров, основанных на событиях, включите настройку Always on в разделе Конфигурация вашего веб-приложения в Azure. Параметр Always on помогает убедиться, что эти типы WebJobs выполняются надежно. Эта функция доступна только в ценовых категориях "Базовый", "Стандартный" и "Премиум".
Создание непрерывного веб-задания
Внимание
Если для приложения настроена система контроля версий, WebJobs следует развертывать как часть интеграции с системой контроля версий. После настройки контроля версий для вашего приложения добавление веб-задания через портал Azure станет невозможным.
На портале Azure перейдите на страницу Служба приложений веб-приложения службы приложений, приложения API или мобильного приложения.
В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".
Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание".
Setting Sample value Описание Имя myContinuousWebJob A name that is unique within an App Service app. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_". Отправка файлов ConsoleApp.zip Файл .zip , содержащий исполняемый файл или файл скрипта, а также все вспомогательные файлы, необходимые для запуска программы или скрипта. Поддерживаемые типы исполняемых файлов или файлов сценариев перечислены в разделе Поддерживаемые типы файлов. Тип Непрерывный Типы веб-заданий описаны ранее в этой статье. Масштабировать Multi Instance Available only for Continuous WebJobs. Определяет, выполняется ли программа или скрипт на всех экземплярах или одном экземпляре. Вариант для запуска на нескольких экземплярах не применяется в ценовых категориях "Бесплатный" или "Общий". Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.
To stop or restart a continuous WebJob, right-click the WebJob in the list and select the Stop or Run button, then confirm your selection.
Создание веб-задания, запускаемого вручную
На портале Azure перейдите на страницу Служба приложений веб-приложения службы приложений, приложения API или мобильного приложения.
В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".
Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание".
Setting Sample value Описание Имя myTriggeredWebJob A name that is unique within an App Service app. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_". Отправка файлов ConsoleApp1.zip Файл .zip , содержащий исполняемый файл или файл скрипта, а также все вспомогательные файлы, необходимые для запуска программы или скрипта. Поддерживаемые типы исполняемых файлов или файлов сценариев перечислены в разделе Поддерживаемые типы файлов. Тип Triggered Типы веб-заданий описаны ранее в этой статье. Триггеры Руководство Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.
Чтобы запустить веб-задание вручную, щелкните правой кнопкой мыши веб-задание в списке и нажмите кнопку "Выполнить ", а затем подтвердите выбор.
Создание запланированного веб-задания
Также запускается запланированное веб-задание. Вы можете запланировать автоматическую активацию по указанному расписанию.
На портале Azure перейдите на страницу Служба приложений веб-приложения службы приложений, приложения API или мобильного приложения.
В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".
Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание".
Setting Sample value Описание Имя myScheduledWebJob A name that is unique within an App Service app. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_". Отправка файлов ConsoleApp.zip Файл .zip , содержащий исполняемый файл или файл скрипта, а также все вспомогательные файлы, необходимые для запуска программы или скрипта. Поддерживаемые типы исполняемых файлов или файлов сценариев перечислены в разделе Поддерживаемые типы файлов. Тип Triggered Типы веб-заданий описаны ранее в этой статье. Триггеры Запланировано Для надежной работы расписания включите функцию Always On. Функция Always On доступна только в тарифных планах "Базовый", "Стандартный" и "Премиум". Выражение CRON 0 0/20 * * * * Выражения CRON описаны в следующем разделе. Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.
Запланированное веб-задание выполняется по расписанию, определенному выражением CRON. Чтобы запустить его вручную в любое время, щелкните правой кнопкой мыши веб-задание в списке и нажмите кнопку "Выполнить ", а затем подтвердите выбор.
Выражения NCRONTAB
You can enter a NCRONTAB expression in the portal or include a settings.job
file at the root of your WebJob .zip file, as in the following example:
{
"schedule": "0 */15 * * * *"
}
Дополнительные сведения см. в статье Планирование активируемого веб-задания.
Примечание.
Часовой пояс по умолчанию, используемый для запуска выражений CRON, — Всемирное координированное время (UTC). To have your CRON expression run based on another time zone, create an app setting for your function app named WEBSITE_TIME_ZONE. Чтобы узнать больше, см. сведения о часовых поясах NCRONTAB.
Manage WebJobs
С помощью портала Azure можно управлять отдельными веб-заданиями, выполняемыми на сайте. Перейдите к Параметры>веб-заданиям, выберите веб-задание, и вы можете запустить и остановить его. Вы также можете просмотреть или изменить пароль вебхука, запускающего веб-задание.
Также можно добавить параметр приложения с именем WEBJOBS_STOPPED
и значением 1
, чтобы остановить все веб-задания, запущенные на вашем сайте. You can use this method to prevent conflicting WebJobs from running both in staging and production slots. You can similarly use a value of 1
for the WEBJOBS_DISABLE_SCHEDULE
setting to disable triggered WebJobs in the site or a staging slot. For slots, remember to enable the Deployment slot setting option so that the setting itself doesn't get swapped.
Просмотр журнала заданий
For the WebJob you want to see, select Logs.
На странице WebJob Details (Подробности веб-задания) выберите время, чтобы ознакомиться с подробностями одного запуска.
На странице сведений о выполнении веб-заданий можно выбрать скачивание, чтобы получить текстовый файл журналов, или выбрать ссылку на вкладку "Таблицы веб-заданий" в верхней части страницы, чтобы просмотреть журналы для другого веб-задания.
WebJob statuses
The following is a list of common WebJob statuses:
- Инициализация приложения запущена, а веб-задание проходит через процесс инициализации.
- Starting The WebJob is starting up.
- Running The WebJob is running.
- ОжиданиеПерезапуска Непрерывное веб-задание завершится менее чем через две минуты после запуска по любой причине, а Служба приложений ждет 60 секунд перед его перезапуском. Если непрерывное веб-задание завершается после двухминутной отметки, Служба приложений не ждет 60 секунд и перезапускает веб-задание немедленно.
- Остановлен Веб-задание было остановлено (обычно через портал Azure) и в настоящее время не выполняется; оно не будет выполняться, пока вы не запустите его вручную заново, даже если это непрерывное или запланированное веб-задание.
- Aborted This can occur for many of reasons, such as when a long-running WebJob reaches the timeout marker.
Следующие шаги
Пакет SDK веб-заданий Azure может использоваться с веб-заданиями для упрощения многих задач программирования. For more information, see What is the WebJobs SDK.