Поделиться через


Учебное пособие: Создание запланированного веб-задания

WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы службы приложений поддерживают веб-задания без дополнительной платы. В этом учебнике описано, как создать запланированное (активируемое) веб-задание с использованием предпочитаемого стека разработки.

Предпосылки

Подготовьте веб-задание локально

  1. На этом шаге вы создадите базовый проект .NET WebJob и перейдете к корню проекта.

    dotnet new console -n webjob –framework net9.0
    
    cd webjob
    
  2. Затем замените 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")); 
        } 
    }
    
  3. Из каталога webjob запустите веб-задание, чтобы подтвердить, что текущее время выводится на консоль:

    dotnet run
    

    Вы должны увидеть результат, аналогичный приведенному ниже:

    Current time with is: 07:53:07 PM -05:00
    
  4. Убедившись, что приложение работает, соберите его и перейдите в родительский каталог:

    dotnet build --self-contained
    
    cd ..
    
  5. Далее мы создадим run.sh, используя следующий код:

    #!/bin/bash
    
    dotnet webjob/bin/Debug/net9.0/webjob.dll 
    
  6. Теперь упакуйте все файлы в .zip, как показано ниже:

    zip webjob.zip run.sh webjob/bin/Debug/net9.0/*
    

Создание запланированного веб-задания в Azure

  1. На портале Azure перейдите на страницу Служба приложений приложения службы приложений.

  2. В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".

    Снимок экрана: добавление веб-задания в приложение Служба приложений на портале (запланированное веб-задание).

  3. Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". В поле «Загрузка файла» обязательно выберите .zip файл, который вы создали или загрузили ранее.

    Снимок экрана: настройка запланированного веб-задания в приложении Служба приложений.

    Настройки ценность Описание
    Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_".
    Отправка файлов webjob.zip Файл .zip , содержащий исполняемый файл или файл скрипта. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .
    Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное.
    Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания.
    Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON .
  4. Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.

  5. Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.

    Снимок экрана, показывающий, как запустить вручную запланированное веб-задание в портале Azure.

WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы обслуживания приложений поддерживают WebJobs без дополнительной платы. В этом примере используется запланированное (активированное) веб-задание для вывода системного времени раз в минуту.

Предпосылки

Скачать пример веб-задания

Вы можете скачать готовый пример проекта , чтобы быстро приступить к работе. Пример включает два файла: webjob.py и run.sh.

Скрипт webjob.pyPython выводит текущее время в консоль, как показано ниже:

import datetime 

current_datetime = datetime.datetime.now() 
print(current_datetime) # Output: 2025-03-27 10:27:21.240752 

Файл run.sh, вызывает WebJob.py, как показано ниже:

#!/bin/bash
/opt/python/3/bin/python3.13 webjob.py

Создание запланированного веб-задания

  1. На портале Azure перейдите на страницу Служба приложений приложения службы приложений.

  2. В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".

    Снимок экрана: добавление веб-задания в приложение Служба приложений на портале (запланированное веб-задание).

  3. Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". В поле Загрузка файла обязательно выберите .zip файл, загруженный ранее в разделе Загрузка примера веб-задания .

    Снимок экрана: настройка запланированного веб-задания в приложении Служба приложений.

    Настройки ценность Описание
    Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_".
    Отправка файлов App-Service-Python-WebJobs-Quickstart-Main.zip Файл .zip , содержащий исполняемый файл или файл скрипта. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .
    Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное.
    Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания.
    Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON .
  4. Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.

  5. Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.

    Снимок экрана, показывающий, как запустить вручную запланированное веб-задание в портале Azure.

WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы обслуживания приложений поддерживают WebJobs без дополнительной платы. В этом примере используется запланированное (активированное) веб-задание для вывода системного времени раз в минуту.

Предпосылки

Скачать пример веб-задания

Вы можете скачать готовый пример проекта , чтобы быстро приступить к работе. Пример включает два файла: webjob.js и run.sh.

JavaScript, webjob.js, выводит текущее время в консоль, как показано ниже:

// 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}`);

Файл run.sh, вызывает webjob.js, как показано ниже:

#!/bin/bash

node webjob.js

Создание запланированного веб-задания

  1. На портале Azure перейдите на страницу Служба приложений приложения службы приложений.

  2. В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".

    Снимок экрана: добавление веб-задания в приложение Служба приложений на портале (запланированное веб-задание).

  3. Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". В поле Загрузка файла обязательно выберите .zip файл, загруженный ранее в разделе Загрузка примера веб-задания .

    Снимок экрана: настройка запланированного веб-задания в приложении Служба приложений.

    Настройки ценность Описание
    Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_".
    Отправка файлов App-Service-Node-WebJobs-Quickstart-Main.zip Файл .zip , содержащий исполняемый файл или файл скрипта. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .
    Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное.
    Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания.
    Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON .
  4. Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.

  5. Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.

    Снимок экрана, показывающий, как запустить вручную запланированное веб-задание в портале Azure.

WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы обслуживания приложений поддерживают WebJobs без дополнительной платы. В этом примере используется запланированное (активированное) веб-задание для вывода системного времени раз в минуту.

Предпосылки

Подготовка веб-задания

Для вас создан пример Java WebJob. В этом разделе вы просмотрите пример, а затем создадите .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

  1. Скрипт run.sh запускает jar-файл с именем, заданным в конфигурации Maven. Этот скрипт будет запущен при запуске нашего веб-задания.

    java -jar webjob-artifact-1.0.0.jar
    
  2. Далее мы компилируем Java-проект для создания исполняемого файла .jar. Есть несколько способов сделать это, но в этом примере мы будем использовать Maven. В каталоге project/ выполните следующие команды:

    mvn install 
    mvn package 
    

    Jar-файлы будут расположены по адресу project/target/webjob-artifact-1.0.0.jar после успешной сборки.

  3. Переместите jar-файл в корень репозитория git с помощью mv project/target/webjob-artifact-1.0.0.jar . кнопки Далее вы упакуете наше приложение в виде .zip файла.

    zip webjob.zip run.sh webjob-artifact-1.0.0.jar 
    

Создание запланированного веб-задания в Azure

  1. На портале Azure перейдите на страницу Служба приложений приложения службы приложений.

  2. В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".

    Снимок экрана: добавление веб-задания в приложение Служба приложений на портале (запланированное веб-задание).

  3. Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". В поле Загрузка файла обязательно выберите .zip файл, загруженный ранее в разделе Загрузка примера веб-задания .

    Снимок экрана: настройка запланированного веб-задания в приложении Служба приложений.

    Настройки ценность Описание
    Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_".
    Отправка файлов webjob.zip Файл .zip , содержащий исполняемый файл или файл скрипта. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .
    Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное.
    Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания.
    Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON .
  4. Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.

  5. Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.

    Снимок экрана, показывающий, как запустить вручную запланированное веб-задание в портале Azure.

WebJobs — это функция Azure App Service, которая позволяет запускать программу или скрипт в том же экземпляре, что и веб-приложение. Все планы обслуживания приложений поддерживают WebJobs без дополнительной платы. В этом примере используется запланированное (активированное) веб-задание для вывода системного времени раз в минуту.

Предпосылки

Скачать пример веб-задания

Вы можете скачать готовый пример проекта , чтобы быстро приступить к работе. Пример включает два файла: webjob.php и run.sh.

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;
?>

Файл run.sh, вызывает webjob.php, как показано ниже:

#!/bin/bash

php -f webjob.php

Создание запланированного веб-задания

  1. На портале Azure перейдите на страницу Служба приложений приложения службы приложений.

  2. В левой области выберите веб-задания, а затем нажмите кнопку "Добавить".

    Снимок экрана: добавление веб-задания в приложение Служба приложений на портале (запланированное веб-задание).

  3. Введите параметры добавления веб-заданий , указанные в таблице, а затем нажмите кнопку "Создать веб-задание". В поле Загрузка файла обязательно выберите .zip файл, загруженный ранее в разделе Загрузка примера веб-задания .

    Снимок экрана: настройка запланированного веб-задания в приложении Служба приложений.

    Настройки ценность Описание
    Имя веб-задача Имя WebJob. Должен начинаться с буквы или числа и не должен содержать специальные символы, отличные от "-" и "_".
    Отправка файлов App-Service-PHP-WebJobs-Quickstart-Main.zip Файл .zip , содержащий исполняемый файл или файл скрипта. Поддерживаемые типы файлов перечислены в разделе поддерживаемых типов файлов .
    Тип Активировано Указывает, когда выполняется веб-задание: непрерывное или триггерное.
    Триггеры Запланировано Запланированные или ручные. Убедитесь, что функция «Всегда включена» активирована для надежной работы расписания.
    Выражение CRON 0 0/1 * * * * Для этого быстрого начала мы используем ежеминутное расписание. Дополнительные сведения о синтаксисе см. в разделе Выражения CRON .
  4. Новое веб-задание появится на странице Веб-задания. Если появится сообщение о том, что веб-задание было добавлено, но вы его не видите, выберите Обновить.

  5. Запланированное веб-задание выполняется по расписанию, определенному выражением CRON.

    Снимок экрана, показывающий, как запустить вручную запланированное веб-задание в портале Azure.

Замечание

Часовой пояс по умолчанию, используемый для запуска выражений CRON, — Всемирное координированное время (UTC). Если нужно использовать выражение CRON в соответствии с другим часовым поясом, создайте для вашего приложения-функции настройку приложения с именем WEBSITE_TIME_ZONE. Чтобы узнать больше, см. сведения о часовых поясах NCRONTAB.

Просмотр журналов WebJob

Выберите журнал для веб-задания, созданного ранее.

Снимок экрана, на котором показано, как просматривать журналы WebJob в приложении службы приложений на портале (запланированное WebJob).

Результат должен выглядеть следующим образом.

Снимок экрана, на котором показаны выходные данные журнала WebJobs.

Очистка

Чтобы удалить веб-задание, выберите веб-задание на портале и выберите Delete.

Скриншот, показывающий, как можно удалить веб-задание на портале.

Следующий шаг

Изучите более сложные сценарии WebJob, включая триггеры и варианты развертывания