Partilhar via


Tutorial: Criar um WebJob agendado

WebJobs é um recurso do Serviço de Aplicativo do Azure que permite executar um programa ou script na mesma instância de um aplicativo Web. Todos os planos do Serviço de Aplicativo suportam WebJobs sem custo extra. Este tutorial guia-o na criação de um WebJob programado (acionado) usando a sua pilha de desenvolvimento preferida.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
  • Um aplicativo .NET 9 existente do App Service.
  • Sempre ativado deve estar ativado em seu aplicativo.
  • Para contêineres do Windows e todos os aplicativos Linux, verifique se a configuração WEBSITE_SKIP_RUNNING_KUDUAGENT do aplicativo está definida como false.

Preparar o WebJob localmente

  1. Nesta etapa, você cria um projeto .NET WebJob básico e navega até a raiz do projeto.

    dotnet new console -n webjob –framework net9.0
    
    cd webjob
    
  2. Em seguida, substitua Program.cs pelo seguinte código que grava a hora atual no console:

    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. A partir do diretório webjob , execute o webjob para confirmar que a hora atual é de saída para o console:

    dotnet run
    

    Deverá ver um resultado similar ao seguinte:

    Current time with is: 07:53:07 PM -05:00
    
  4. Depois de confirmar que a aplicação funciona, compile-a e navegue até o diretório superior:

    dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
    
  5. (Apenas Linux) Na raiz do projeto, crie um run.sh com o seguinte código para executar o executável compilado:

    #!/bin/bash
    
    ./webjob
    
  6. Agora empacote os arquivos em um .zip como mostrado no comando a seguir:

    zip -j webjob.zip bin/Release/net9.0/win-x64/publish/webjob.exe
    

Criar um WebJob agendado no Azure

  1. No portal do Azure, vá para a página Serviço de Aplicativo do seu aplicativo do Serviço de Aplicativo.

  2. No painel esquerdo, selecione WebJobs e, em seguida, selecione Adicionar.

    Captura de ecrã que mostra como adicionar um WebJob numa aplicação de Serviço de Aplicações no portal (WebJob agendado).

  3. Preencha as configurações Adicionar WebJob conforme especificado na tabela e selecione Criar Webjob. Para Upload de Arquivo, certifique-se de selecionar o arquivo .zip que você criou ou baixou anteriormente.

    Captura de ecrã que mostra como configurar um WebJob agendado numa aplicação do Serviço de Aplicações.

    Configurações valor Descrição
    Nome Emprego na Web O nome do WebJob. Deve começar com uma letra ou um número e não deve conter caracteres especiais além de "-" e "_".
    Upload de arquivo webjob.zip O arquivo .zip que contém o arquivo executável ou de script. Os tipos de ficheiro suportados estão listados na secção Tipos de ficheiro suportados .
    Tipo Acionado Especifica quando o WebJob é executado: Contínuo ou Acionado.
    Acionadores Programado Programado ou Manual. Certifique-se de que Always on está ativado para que a agenda funcione de forma confiável.
    Expressão CRON 0 0/1 * * * * Para este início rápido, usamos um cronograma que corre a cada minuto. Consulte as expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob aparece na página WebJobs . Se vir uma mensagem a dizer que o WebJob foi adicionado, mas não a vê, selecione Atualizar.

  5. O WebJob agendado é executado no cronograma definido pela expressão CRON.

    Captura de tela que mostra como executar um WebJob agendado manualmente no portal do Azure.

WebJobs é um recurso do Serviço de Aplicativo do Azure que permite executar um programa ou script na mesma instância de um aplicativo Web. Todos os planos de serviço de aplicativo suportam WebJobs sem custo extra. Este exemplo usa um WebJob agendado (acionado) para gerar a hora do sistema uma vez a cada minuto.

Pré-requisitos

Preparar o exemplo de WebJob

  1. Faça o download do projeto de exemplo pré-construído para começar rapidamente. O exemplo inclui o arquivo webjob.py, que envia a hora atual para o console, conforme mostrado abaixo:

    import datetime 
    
    current_datetime = datetime.datetime.now() 
    print(current_datetime) # Output: 2025-03-27 10:27:21.240752
    
  2. Extraia o arquivo zip baixado e, em seguida, crie um novo arquivo zip contendo apenas o webjob.py arquivo (sem qualquer diretório pai). WebJobs requer que o executável ou script esteja na raiz do arquivo zip.

Criar um WebJob agendado

  1. No portal do Azure, vá para a página Serviço de Aplicativo do seu aplicativo do Serviço de Aplicativo.

  2. No painel esquerdo, selecione WebJobs e, em seguida, selecione Adicionar.

    Captura de ecrã que mostra como adicionar um WebJob numa aplicação de Serviço de Aplicações no portal (WebJob agendado).

  3. Preencha as configurações Adicionar WebJob conforme especificado na tabela e selecione Criar Webjob. Para Carregar Ficheiro, certifique-se de selecionar o ficheiro .zip criado anteriormente na seção Preparar WebJob de exemplo.

    Captura de ecrã que mostra como configurar um WebJob agendado numa aplicação do Serviço de Aplicações.

    Configurações valor Description
    Nome Emprego na Web O nome do WebJob. Deve começar com uma letra ou um número e não deve conter caracteres especiais além de "-" e "_".
    Upload de arquivo webjob.zip O ficheiro .zip que contém webjob.py no nível raiz. Os tipos de ficheiro suportados estão listados na secção Tipos de ficheiro suportados .
    Tipo Acionado Especifica quando o WebJob é executado: Contínuo ou Acionado.
    Acionadores Programado Programado ou Manual. Certifique-se de que Always on está ativado para que a agenda funcione de forma confiável.
    Expressão CRON 0 0/1 * * * * Para este início rápido, usamos um cronograma que corre a cada minuto. Consulte as expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob aparece na página WebJobs . Se vir uma mensagem a dizer que o WebJob foi adicionado, mas não a vê, selecione Atualizar.

  5. O WebJob agendado é executado no cronograma definido pela expressão CRON.

    Captura de tela que mostra como executar um WebJob agendado manualmente no portal do Azure.

WebJobs é um recurso do Serviço de Aplicativo do Azure que permite executar um programa ou script na mesma instância de um aplicativo Web. Todos os planos de serviço de aplicativo suportam WebJobs sem custo extra. Este exemplo usa um WebJob agendado (acionado) para gerar a hora do sistema uma vez a cada minuto.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
  • Uma app Node.js existente do Serviço de Aplicações.
  • Sempre ativado deve estar ativado em seu aplicativo.
  • Para Linux, verifique se a configuração WEBSITE_SKIP_RUNNING_KUDUAGENT do aplicativo está definida como false.

Preparar o exemplo WebJob

  1. Faça o download do projeto de exemplo pré-construído para começar rapidamente. O exemplo inclui um arquivo webjob.jsJavaScript, que envia a hora atual para o console, conforme mostrado abaixo:

    // 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}`);
    
  2. Extraia o arquivo zip baixado e, em seguida, crie um novo arquivo zip contendo apenas o webjob.js arquivo (sem qualquer diretório pai). WebJobs requer que o executável ou script esteja na raiz do arquivo zip.

Criar um WebJob agendado

  1. No portal do Azure, vá para a página Serviço de Aplicativo do seu aplicativo do Serviço de Aplicativo.

  2. No painel esquerdo, selecione WebJobs e, em seguida, selecione Adicionar.

    Captura de ecrã que mostra como adicionar um WebJob numa aplicação de Serviço de Aplicações no portal (WebJob agendado).

  3. Preencha as configurações Adicionar WebJob conforme especificado na tabela e selecione Criar Webjob. Para o Carregamento de Ficheiro, certifique-se de selecionar o ficheiro .zip criado anteriormente na secção Preparar o WebJob de exemplo.

    Captura de ecrã que mostra como configurar um WebJob agendado numa aplicação do Serviço de Aplicações.

    Configurações valor Description
    Nome Emprego na Web O nome do WebJob. Deve começar com uma letra ou um número e não deve conter caracteres especiais além de "-" e "_".
    Upload de arquivo webjob.zip O ficheiro.zip que contém webjob.js ao nível da raiz. Os tipos de ficheiro suportados estão listados na secção Tipos de ficheiro suportados .
    Tipo Acionado Especifica quando o WebJob é executado: Contínuo ou Acionado.
    Acionadores Programado Programado ou Manual. Certifique-se de que Always on está ativado para que a agenda funcione de forma confiável.
    Expressão CRON 0 0/1 * * * * Para este início rápido, usamos um cronograma que corre a cada minuto. Consulte as expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob aparece na página WebJobs . Se vir uma mensagem a dizer que o WebJob foi adicionado, mas não a vê, selecione Atualizar.

  5. O WebJob agendado é executado no cronograma definido pela expressão CRON.

    Captura de tela que mostra como executar um WebJob agendado manualmente no portal do Azure.

WebJobs é um recurso do Serviço de Aplicativo do Azure que permite executar um programa ou script na mesma instância de um aplicativo Web. Todos os planos de serviço de aplicativo suportam WebJobs sem custo extra. Este exemplo usa um WebJob agendado (acionado) para gerar a hora do sistema uma vez a cada minuto.

Importante

WebJobs não são suportados em contêineres Linux personalizados baseados no Alpine Linux, incluindo aplicativos Linux usando pilhas de tempo de execução Java 8 e Java 11. A partir dos aplicativos Java 17 Linux, o Serviço de Aplicativo do Azure usa imagens não baseadas em Alpinos, que são compatíveis com WebJobs.

Pré-requisitos

Preparar o WebJob

  1. Faça o download do exemplo Java WebJob. Você construirá um arquivo usando o .JARMaven. O projeto Java localizado em project/src/main/java/webjob/HelloWorld.java produz uma mensagem e a hora atual para o console.

    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("------------------------------------------------------------"); 
        } 
    } 
    
  2. Construa e empacote o projeto Java para produzir o executável .jar executando os seguintes comandos do project/ diretório:

    mvn install 
    mvn package 
    

    Os arquivos jar serão localizados em project/target/webjob-artifact-1.0.0.jar após uma compilação bem-sucedida.

  3. Empacote o project/target/webjob-artifact-1.0.0.jar como um .zip arquivo.

    zip webjob.zip project/target/webjob-artifact-1.0.0.jar
    

Criar um WebJob agendado no Azure

  1. No portal do Azure, vá para a página Serviço de Aplicativo do seu aplicativo do Serviço de Aplicativo.

  2. No painel esquerdo, selecione WebJobs e, em seguida, selecione Adicionar.

    Captura de ecrã que mostra como adicionar um WebJob numa aplicação de Serviço de Aplicações no portal (WebJob agendado).

  3. Preencha as configurações Adicionar WebJob conforme especificado na tabela e selecione Criar Webjob. Para Upload de Arquivo, selecione o arquivo .zip que você criou na seção anterior.

    Captura de ecrã que mostra como configurar um WebJob agendado numa aplicação do Serviço de Aplicações.

    Configurações valor Descrição
    Nome Emprego na Web O nome do WebJob. Deve começar com uma letra ou um número e não deve conter caracteres especiais além de "-" e "_".
    Upload de arquivo webjob.zip O arquivo .zip que contém webjob-artifact-1.0.0.jar. Os tipos de ficheiro suportados estão listados na secção Tipos de ficheiro suportados .
    Tipo Acionado Especifica quando o WebJob é executado: Contínuo ou Acionado.
    Acionadores Programado Programado ou Manual. Certifique-se de que Always on está ativado para que a agenda funcione de forma confiável.
    Expressão CRON 0 0/1 * * * * Para este início rápido, usamos um cronograma que corre a cada minuto. Consulte as expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob aparece na página WebJobs . Se vir uma mensagem a dizer que o WebJob foi adicionado, mas não a vê, selecione Atualizar.

  5. O WebJob agendado é executado no cronograma definido pela expressão CRON.

    Captura de tela que mostra como executar um WebJob agendado manualmente no portal do Azure.

WebJobs é um recurso do Serviço de Aplicativo do Azure que permite executar um programa ou script na mesma instância de um aplicativo Web. Todos os planos de serviço de aplicativo suportam WebJobs sem custo extra. Este exemplo usa um WebJob agendado (acionado) para gerar a hora do sistema uma vez a cada minuto.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
  • Um aplicativo PHP do Serviço de Aplicativo existente no Linux. Neste início rápido, um aplicativo PHP é usado.
  • Sempre ativado deve estar ativado em seu aplicativo.
  • Verifique se a configuração WEBSITE_SKIP_RUNNING_KUDUAGENT do aplicativo está definida como false.

Preparar o WebJob de exemplo

  1. Faça o download do projeto de exemplo pré-construído para começar rapidamente. O exemplo contém o arquivo webjob.phpPHP , que emite a hora atual para o console, como mostrado abaixo:

    <?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;
    ?>
    
  2. Extraia o arquivo zip baixado e, em seguida, crie um novo arquivo zip contendo apenas o webjob.php arquivo (sem qualquer diretório pai). WebJobs requer que o executável ou script esteja na raiz do arquivo zip.

Criar um WebJob agendado

  1. No portal do Azure, vá para a página Serviço de Aplicativo do seu aplicativo do Serviço de Aplicativo.

  2. No painel esquerdo, selecione WebJobs e, em seguida, selecione Adicionar.

    Captura de ecrã que mostra como adicionar um WebJob numa aplicação de Serviço de Aplicações no portal (WebJob agendado).

  3. Preencha as configurações Adicionar WebJob conforme especificado na tabela e selecione Criar Webjob. Para Carregamento de Ficheiro, certifique-se de selecionar o ficheiro .zip criado anteriormente na secção Preparar o WebJob de exemplo.

    Captura de ecrã que mostra como configurar um WebJob agendado numa aplicação do Serviço de Aplicações.

    Configurações valor Description
    Nome Emprego na Web O nome do WebJob. Deve começar com uma letra ou um número e não deve conter caracteres especiais além de "-" e "_".
    Upload de arquivo webjob.zip O ficheiro.zip que contém webjob.php no nível raiz. Os tipos de ficheiro suportados estão listados na secção Tipos de ficheiro suportados .
    Tipo Acionado Especifica quando o WebJob é executado: Contínuo ou Acionado.
    Acionadores Programado Programado ou Manual. Certifique-se de que Always on está ativado para que a agenda funcione de forma confiável.
    Expressão CRON 0 0/1 * * * * Para este início rápido, usamos um cronograma que corre a cada minuto. Consulte as expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob aparece na página WebJobs . Se vir uma mensagem a dizer que o WebJob foi adicionado, mas não a vê, selecione Atualizar.

  5. O WebJob agendado é executado no cronograma definido pela expressão CRON.

    Captura de tela que mostra como executar um WebJob agendado manualmente no portal do Azure.

Observação

O fuso horário padrão usado para executar expressões CRON é o Tempo Universal Coordenado (UTC). Para que sua expressão CRON seja executada com base em outro fuso horário, crie uma configuração de aplicativo para seu aplicativo de função chamado WEBSITE_TIME_ZONE. Para saber mais, consulte Fusos horários NCRONTAB.

Verifique os Logs do WebJob

Selecione o registo do WebJob que criou anteriormente.

Captura de ecrã que mostra como exibir logs do WebJob num aplicativo de Serviço de Aplicativo no portal (WebJob agendado).

A saída deve ser semelhante à seguinte.

Captura de tela que mostra a saída do log WebJobs.

Limpeza

Para remover o WebJob, selecione o WebJob no portal e selecione Delete.

Captura de tela mostrando como você pode excluir um WebJob no portal.

Próximo passo

Explore cenários de WebJob mais avançados, incluindo gatilhos e opções de implantação