Compartilhar 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 que um aplicativo Web. Todos os planos de Serviço de Aplicativos dão suporte a WebJobs sem custo adicional. Este tutorial explica como criar um WebJob agendado (disparado) usando a sua pilha de desenvolvimento preferida.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
  • Um aplicativo do .NET 9 do Serviço de Aplicativo existente.
  • O Always On deve estar habilitado 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 WebJob básico do .NET 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. No diretório webjob , execute o webjob para confirmar se a hora atual é enviada para o console:

    dotnet run
    

    Será exibida uma saída semelhante à seguinte:

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

    dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
    
  5. (Somente 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 conforme mostrado no seguinte comando:

    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, Adicionar.

    Captura de tela que mostra como adicionar um WebJob em um aplicativo do Serviço de Aplicativo 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 tela que mostra como configurar um WebJob agendado em um aplicativo do Serviço de Aplicativo.

    Configurações value Descrição
    Nome trabalho na web O nome do WebJob. Deve começar com uma letra ou um número e não pode conter caracteres especiais que não sejam “-” e “_”.
    Upload de arquivos webjob.zip O arquivo .zip que contém o arquivo executável ou de script. Os tipos de arquivo suportados estão listados na seção tipos de arquivo suportados .
    Tipo Disparado Especifica quando o WebJob é executado: Contínuo ou Sob demanda.
    Gatilhos Agendado Agendado ou Manual. Certifique-se de que Always on esteja habilitado para que o agendamento funcione de forma confiável.
    Expressão Cron 0 0/1 * * * * Para este início rápido, usamos uma agenda que é executada a cada minuto. Consulte Expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob é exibido na página WebJobs. Se você receber uma mensagem indicando que o WebJob foi adicionado, mas ele não aparecer, selecione Atualizar.

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

    Captura de tela que mostra como criar 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 que um aplicativo Web. Todos os planos do serviço de aplicativo dão suporte a WebJobs sem custo adicional. Este exemplo usa um WebJob agendado (disparado) para gerar o tempo do sistema uma vez a cada minuto.

Pré-requisitos

Preparar o webjob de exemplo

  1. Baixe o projeto de exemplo predefinido para começar rapidamente. O exemplo inclui o arquivo webjob.py, que gera 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 crie um novo arquivo zip contendo apenas o webjob.py arquivo (sem nenhum 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, Adicionar.

    Captura de tela que mostra como adicionar um WebJob em um aplicativo do Serviço de Aplicativo no portal (WebJob agendado).

  3. Preencha as configurações Adicionar WebJob, conforme especificado na tabela, e selecione Criar WebJob. Para o Upload de Arquivo, selecione o arquivo .zip criado anteriormente na seção Preparar o WebJob de exemplo .

    Captura de tela que mostra como configurar um WebJob agendado em um aplicativo do Serviço de Aplicativo.

    Configurações value Description
    Nome trabalho na web O nome do WebJob. Deve começar com uma letra ou um número e não pode conter caracteres especiais que não sejam “-” e “_”.
    Upload de arquivos webjob.zip O arquivo .zip que contém webjob.py no nível raiz. Os tipos de arquivo suportados estão listados na seção tipos de arquivo suportados .
    Tipo Disparado Especifica quando o WebJob é executado: Contínuo ou Sob demanda.
    Gatilhos Agendado Agendado ou Manual. Certifique-se de que Always on esteja habilitado para que o agendamento funcione de forma confiável.
    Expressão Cron 0 0/1 * * * * Para este início rápido, usamos uma agenda que é executada a cada minuto. Consulte Expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob é exibido na página WebJobs. Se você receber uma mensagem indicando que o WebJob foi adicionado, mas ele não aparecer, selecione Atualizar.

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

    Captura de tela que mostra como criar 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 que um aplicativo Web. Todos os planos do serviço de aplicativo dão suporte a WebJobs sem custo adicional. Este exemplo usa um WebJob agendado (disparado) para gerar o tempo do sistema uma vez a cada minuto.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
  • Um aplicativo de Nó do Serviço de Aplicativo existente.
  • O Always On deve estar habilitado em seu aplicativo.
  • Para Linux, verifique se a configuração WEBSITE_SKIP_RUNNING_KUDUAGENT do aplicativo está definida como false.

Preparar o webjob de exemplo

  1. Baixe o projeto de exemplo predefinido para começar rapidamente. O exemplo inclui um arquivo webjob.jsJavaScript, que gera 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 crie um novo arquivo zip contendo apenas o webjob.js arquivo (sem nenhum 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, Adicionar.

    Captura de tela que mostra como adicionar um WebJob em um aplicativo do Serviço de Aplicativo no portal (WebJob agendado).

  3. Preencha as configurações Adicionar WebJob, conforme especificado na tabela, e selecione Criar WebJob. Para o Upload de Arquivo, selecione o arquivo .zip criado anteriormente na seção Preparar o WebJob de exemplo .

    Captura de tela que mostra como configurar um WebJob agendado em um aplicativo do Serviço de Aplicativo.

    Configurações value Description
    Nome trabalho na web O nome do WebJob. Deve começar com uma letra ou um número e não pode conter caracteres especiais que não sejam “-” e “_”.
    Upload de arquivos webjob.zip O arquivo .zip que contém webjob.js na raiz. Os tipos de arquivo suportados estão listados na seção tipos de arquivo suportados .
    Tipo Disparado Especifica quando o WebJob é executado: Contínuo ou Sob demanda.
    Gatilhos Agendado Agendado ou Manual. Certifique-se de que Always on esteja habilitado para que o agendamento funcione de forma confiável.
    Expressão Cron 0 0/1 * * * * Para este início rápido, usamos uma agenda que é executada a cada minuto. Consulte Expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob é exibido na página WebJobs. Se você receber uma mensagem indicando que o WebJob foi adicionado, mas ele não aparecer, selecione Atualizar.

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

    Captura de tela que mostra como criar 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 que um aplicativo Web. Todos os planos do serviço de aplicativo dão suporte a WebJobs sem custo adicional. Este exemplo usa um WebJob agendado (disparado) para gerar o tempo do sistema uma vez a cada minuto.

Importante

Não há suporte para WebJobs em contêineres do Linux personalizados com base no Alpine Linux, incluindo aplicativos Linux que usam pilhas de runtime Java 8 e Java 11. A partir dos aplicativos Linux Java 17, o Serviço de Aplicativo do Azure usa imagens não baseadas em Alpine, que são compatíveis com WebJobs.

Pré-requisitos

Preparar o WebJob

  1. Baixe o exemplo de Java WebJob. Você criará um .JAR arquivo usando o Maven. O projeto Java localizado em project/src/main/java/webjob/HelloWorld.java gera 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. Crie 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 arquivo .zip.

    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, Adicionar.

    Captura de tela que mostra como adicionar um WebJob em um aplicativo do Serviço de Aplicativo 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 tela que mostra como configurar um WebJob agendado em um aplicativo do Serviço de Aplicativo.

    Configurações value Descrição
    Nome trabalho na web O nome do WebJob. Deve começar com uma letra ou um número e não pode conter caracteres especiais que não sejam “-” e “_”.
    Upload de arquivos webjob.zip O arquivo .zip que contém webjob-artifact-1.0.0.jar. Os tipos de arquivo suportados estão listados na seção tipos de arquivo suportados .
    Tipo Disparado Especifica quando o WebJob é executado: Contínuo ou Sob demanda.
    Gatilhos Agendado Agendado ou Manual. Certifique-se de que Always on esteja habilitado para que o agendamento funcione de forma confiável.
    Expressão Cron 0 0/1 * * * * Para este início rápido, usamos uma agenda que é executada a cada minuto. Consulte Expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob é exibido na página WebJobs. Se você receber uma mensagem indicando que o WebJob foi adicionado, mas ele não aparecer, selecione Atualizar.

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

    Captura de tela que mostra como criar 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 que um aplicativo Web. Todos os planos do serviço de aplicativo dão suporte a WebJobs sem custo adicional. Este exemplo usa um WebJob agendado (disparado) para gerar o tempo 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.
  • O Always On deve estar habilitado em seu aplicativo.
  • Verifique se a configuração WEBSITE_SKIP_RUNNING_KUDUAGENT do aplicativo está definida como false.

Preparar o webjob de exemplo

  1. Baixe o projeto de exemplo predefinido para começar rapidamente. O exemplo contém o arquivo webjob.phpPHP, que gera a hora atual para o console, conforme 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 crie um novo arquivo zip contendo apenas o webjob.php arquivo (sem nenhum 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, Adicionar.

    Captura de tela que mostra como adicionar um WebJob em um aplicativo do Serviço de Aplicativo no portal (WebJob agendado).

  3. Preencha as configurações Adicionar WebJob, conforme especificado na tabela, e selecione Criar WebJob. Para o Upload de Arquivo, selecione o arquivo .zip criado anteriormente na seção Preparar o WebJob de exemplo .

    Captura de tela que mostra como configurar um WebJob agendado em um aplicativo do Serviço de Aplicativo.

    Configurações value Description
    Nome trabalho na web O nome do WebJob. Deve começar com uma letra ou um número e não pode conter caracteres especiais que não sejam “-” e “_”.
    Upload de arquivos webjob.zip O arquivo.zip que contém webjob.php no diretório raiz. Os tipos de arquivo suportados estão listados na seção tipos de arquivo suportados .
    Tipo Disparado Especifica quando o WebJob é executado: Contínuo ou Sob demanda.
    Gatilhos Agendado Agendado ou Manual. Certifique-se de que Always on esteja habilitado para que o agendamento funcione de forma confiável.
    Expressão Cron 0 0/1 * * * * Para este início rápido, usamos uma agenda que é executada a cada minuto. Consulte Expressões CRON para saber mais sobre a sintaxe.
  4. O novo WebJob é exibido na página WebJobs. Se você receber uma mensagem indicando que o WebJob foi adicionado, mas ele não aparecer, selecione Atualizar.

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

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

Observação

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

Examinar os logs do WebJob

Selecione o log do WebJob que você criou anteriormente.

Captura de tela que mostra como exibir os logs do WebJob em um aplicativo do Serviço de Aplicativo no portal (WebJob agendado).

A saída será semelhante à mostrada a seguir.

Captura de tela que mostra a saída de log do 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óxima etapa

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