Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы службы приложений поддерживают WebJobs без дополнительных затрат. В этом учебнике описано, как создать запланированное (активируемое) веб-задание с использованием предпочитаемого стека разработки.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Существующее приложение службы приложений .NET 9.
- Функция «Всегда включено » должна быть включена в приложении.
- Для контейнеров Windows и всех приложений Linux убедитесь, что для параметра приложения
WEBSITE_SKIP_RUNNING_KUDUAGENTзадано значениеfalse.
Подготовьте веб-задание локально
На этом шаге вы создадите базовый проект .NET WebJob и перейдете к корню проекта.
dotnet new console -n webjob –framework net9.0 cd webjobЗатем замените
Program.csна следующий код, который записывает текущее время в консоль:using System; class Program { static void Main() { DateTimeOffset now = DateTimeOffset.Now; Console.WriteLine("Current time with is: " + now.ToString("hh:mm:ss tt zzz")); } }Из каталога webjob запустите веб-задание, чтобы подтвердить, что текущее время выводится на консоль:
dotnet runВы должны увидеть результат, аналогичный приведенному ниже:
Current time with is: 07:53:07 PM -05:00Убедившись, что приложение работает, создайте его и перейдите в родительский каталог:
(только для Linux) В корневом каталоге проекта создайте файл
run.shс следующим кодом, чтобы запустить построенный исполняемый файл:#!/bin/bash ./webjobТеперь упаковайте файлы в .zip, как показано в следующей команде:
Создание запланированного веб-задания в Azure
На портале Azure перейдите на страницу Служба приложений приложения службы приложений.
В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".
Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". В поле «Загрузка файла» обязательно выберите .zip файл, который вы создали или загрузили ранее.
Настройки ценность Описание Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_". Отправка файлов webjob.zip Файл .zip , содержащий исполняемый файл или файл скрипта. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов . Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное. Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания. Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON . Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.
Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.
WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы службы приложений поддерживают веб-задания без дополнительных затрат. В этом примере используется запланированное (активированное) веб-задание для вывода системного времени раз в минуту.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Существующее приложение Python для Linux.
- Функция «Всегда включено » должна быть включена в приложении.
- Убедитесь, что для параметра
WEBSITE_SKIP_RUNNING_KUDUAGENTприложения заданоfalseзначение .
Подготовка примера веб-задания
Скачайте готовый пример проекта , чтобы быстро приступить к работе. Пример включает файл
webjob.py, который выводит текущее время в консоль, как показано ниже:import datetime current_datetime = datetime.datetime.now() print(current_datetime) # Output: 2025-03-27 10:27:21.240752Извлеките скачанный ZIP-файл, а затем создайте zip-файл, содержащий только
webjob.pyфайл (без родительского каталога). Веб-задания требуют, чтобы исполняемый файл или скрипт был в корне ZIP-файла.
Создание запланированного веб-задания
На портале Azure перейдите на страницу Служба приложений приложения службы приложений.
В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".
Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". Для отправки файлов обязательно выберите файл .zip, созданный ранее в разделе "Подготовка примера веб-задания ".
Настройки ценность Description Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_". Отправка файлов webjob.zip Файл .zip, который содержит webjob.pyна корневом уровне. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное. Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания. Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON . Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.
Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.
WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы службы приложений поддерживают веб-задания без дополнительных затрат. В этом примере используется запланированное (активированное) веб-задание для вывода системного времени раз в минуту.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Существующее приложение App Service Node.
- Функция «Всегда включено » должна быть включена в приложении.
- Для Linux убедитесь, что для параметра
WEBSITE_SKIP_RUNNING_KUDUAGENTприложения заданоfalseзначение .
Подготовка примера веб-задания
Скачайте готовый пример проекта , чтобы быстро приступить к работе. Пример содержит файл
webjob.jsJavaScript, который выводит текущее время в консоль, как показано ниже:// Import the 'Date' object from JavaScript const currentTime = new Date(); // Format the time as a string const formattedTime = currentTime.toLocaleTimeString(); // Output the formatted time to the console console.log(`Current system time is: ${formattedTime}`);Извлеките скачанный ZIP-файл, а затем создайте zip-файл, содержащий только
webjob.jsфайл (без родительского каталога). Веб-задания требуют, чтобы исполняемый файл или скрипт был в корне ZIP-файла.
Создание запланированного веб-задания
На портале Azure перейдите на страницу Служба приложений приложения службы приложений.
В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".
Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". Для отправки файлов обязательно выберите файл .zip, созданный ранее в разделе "Подготовка примера веб-задания ".
Настройки ценность Description Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_". Отправка файлов webjob.zip Файл .zip, содержащий webjob.jsна корневом уровне. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное. Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания. Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON . Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.
Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.
WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы службы приложений поддерживают веб-задания без дополнительных затрат. В этом примере используется запланированное (активированное) веб-задание для вывода системного времени раз в минуту.
Это важно
Веб-задания не поддерживаются в пользовательских контейнерах Linux на основе Alpine Linux, включая приложения Linux с помощью стека среды выполнения Java 8 и Java 11. Начиная с приложений Java 17 Linux служба приложений Azure использует образы, отличные от Alpine, совместимые с веб-заданиями.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Существующее Java-приложение службы приложений.
- Плагин Maven для веб-приложений сервиса приложений Azure.
- Функция «Всегда включено » должна быть включена в приложении.
- Убедитесь, что для параметра
WEBSITE_SKIP_RUNNING_KUDUAGENTприложения заданоfalseзначение .
Подготовка веб-задания
Скачайте пример веб-задания Java. Вы создадите
.JARфайл с помощью Maven. Java-проект, расположенный по адресуproject/src/main/java/webjob/HelloWorld.java, выводит сообщение и текущее время на консоль.import java.time.LocalDateTime; public class HelloWorld { public static void main(String[] args) { System.out.println("------------------------------------------------------------"); System.out.println("Hello World from WebJob: " + LocalDateTime.now()); System.out.println("------------------------------------------------------------"); } }Создайте и упаковите проект Java для создания исполняемого файла
.jar, выполнив следующие команды изproject/каталога:mvn install mvn packageJar-файлы будут расположены по адресу
project/target/webjob-artifact-1.0.0.jarпосле успешной сборки.Упакуйте
project/target/webjob-artifact-1.0.0.jarкак файл.zip.zip webjob.zip project/target/webjob-artifact-1.0.0.jar
Создание запланированного веб-задания в Azure
На портале Azure перейдите на страницу Служба приложений приложения службы приложений.
В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".
Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". Для отправки файлов обязательно выберите файл .zip, созданный в предыдущем разделе.
Настройки ценность Описание Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_". Отправка файлов webjob.zip Файл .zip , содержащий webjob-artifact-1.0.0.jar. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное. Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания. Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON . Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.
Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.
WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы службы приложений поддерживают веб-задания без дополнительных затрат. В этом примере используется запланированное (активированное) веб-задание для вывода системного времени раз в минуту.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Существующее приложение PHP службы приложений в Linux. В этом быстром старте используется приложение PHP.
- Функция «Всегда включено » должна быть включена в приложении.
- Убедитесь, что для параметра
WEBSITE_SKIP_RUNNING_KUDUAGENTприложения заданоfalseзначение .
Подготовка примера веб-задания
Скачайте готовый пример проекта , чтобы быстро приступить к работе. Пример содержит PHP-файл
webjob.php, который выводит текущее время в консоль, как показано ниже:<?php // Get the current time $current_time = date("Y-m-d H:i:s"); // Display the current time echo "The current time is: " . $current_time; ?>Извлеките скачанный ZIP-файл, а затем создайте zip-файл, содержащий только
webjob.phpфайл (без родительского каталога). Веб-задания требуют, чтобы исполняемый файл или скрипт был в корне ZIP-файла.
Создание запланированного веб-задания
На портале Azure перейдите на страницу Служба приложений приложения службы приложений.
В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".
Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". Для отправки файлов обязательно выберите файл .zip, созданный ранее в разделе "Подготовка примера веб-задания ".
Настройки ценность Description Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_". Отправка файлов webjob.zip Файл .zip, содержащий webjob.phpна корневом уровне. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное. Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания. Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON . Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.
Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.
Замечание
Часовой пояс по умолчанию, используемый для запуска выражений CRON, — Всемирное координированное время (UTC). Если нужно использовать выражение CRON в соответствии с другим часовым поясом, создайте для вашего приложения-функции настройку приложения с именем WEBSITE_TIME_ZONE. Чтобы узнать больше, см. сведения о часовых поясах NCRONTAB.
Просмотр журналов WebJob
Выберите журнал для веб-задания, созданного ранее.
Результат должен выглядеть следующим образом.
Очистка
Чтобы удалить веб-задание, выберите веб-задание на портале и выберите Delete.
Следующий шаг
Изучите более сложные сценарии WebJob, включая триггеры и варианты развертывания