Compartir a través de


Tutorial: Creación de un WebJob programado

WebJobs es una característica de Azure App Service que permite ejecutar un programa o script en la misma instancia que una aplicación web. Todos los planes de App Service admiten WebJobs sin costo adicional. Este tutorial le guía a través de la creación de un trabajo web programado (desencadenado) mediante la pila de desarrollo preferida.

Prerrequisitos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
  • Una aplicación existente del Servicio de Aplicaciones .NET 9.
  • Always on debe estar habilitado en la aplicación.
  • Asegúrese de que la configuración WEBSITE_SKIP_RUNNING_KUDUAGENT de la aplicación esté establecida en false.

Preparar el WebJob localmente

  1. En este paso, creará un proyecto WebJob básico de .NET y navegará hasta la raíz del proyecto.

    dotnet new console -n webjob –framework net9.0
    
    cd webjob
    
  2. A continuación, reemplace Program.cs por el siguiente código que escribe la hora actual en la consola:

    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. Desde el directorio webjob , ejecute el webjob para confirmar que la hora actual se ha enviado a la consola:

    dotnet run
    

    Debería ver un resultado similar al siguiente:

    Current time with is: 07:53:07 PM -05:00
    
  4. Una vez que hayas confirmado que la aplicación funciona, compílala y navega hasta el directorio principal.

    dotnet build --self-contained
    
    cd ..
    
  5. A continuación vamos a crear run.sh con el siguiente código:

    #!/bin/bash
    
    dotnet webjob/bin/Debug/net9.0/webjob.dll 
    
  6. Ahora empaqueta todos los archivos en un .zip como se muestra a continuación:

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

Creación de un trabajo web programado en Azure

  1. En Azure Portal, vaya a la página App Service de la aplicación App Service.

  2. En el panel izquierdo, seleccione WebJobs y, a continuación, seleccione Agregar.

    Recorte de pantalla que muestra cómo agregar un WebJob en una aplicación de App Service en el portal (WebJob programado).

  3. Rellene la configuración Agregar WebJob tal como se especifica en la tabla y seleccione Crear webjob. En Carga de archivos, asegúrese de seleccionar el archivo .zip que creó o descargó anteriormente.

    Recorte de pantalla que muestra cómo configurar un WebJob programado en una aplicación de App Service.

    Configuración valor Descripción
    Nombre webjob El nombre de WebJob. Debe comenzar con una letra o un número y no puede contener caracteres especiales, salvo por «-» y «_».
    Carga de archivos webjob.zip El archivo .zip que contiene el archivo ejecutable o de script. Los tipos de archivo admitidos se enumeran en la sección Tipos de archivo compatibles .
    Tipo Desencadenado Especifica cuándo se ejecuta el WebJob: Continuo o Programado.
    Desencadenadores Programado Programada o Manual. Asegúrese de que Siempre activado esté habilitado para que la programación funcione de manera confiable.
    Expresión CRON 0 0/1 * * * * Para este inicio rápido, usamos una programación que se ejecuta cada minuto. Consulte Expresiones CRON para obtener más información sobre la sintaxis.
  4. El WebJob nuevo aparece en la página WebJobs. Si ve un mensaje que indica que se ha agregado el WebJob, pero no lo ve, seleccione Actualizar.

  5. El WebJob programado se ejecuta según la programación definida por la expresión CRON.

    Recorte de pantalla que muestra cómo detener un WebJob programado manualmente en Azure Portal.

WebJobs es una característica de Azure App Service que permite ejecutar un programa o script en la misma instancia que una aplicación web. Todos los planes de App Service admiten WebJobs sin costo adicional. En este ejemplo se usa un WebJob programado (desencadenado) para generar la hora del sistema una vez por minuto.

Prerrequisitos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
  • Una aplicación de Python del Servicio de aplicaciones existente.
  • Always on debe estar habilitado en la aplicación.
  • Asegúrese de que la configuración WEBSITE_SKIP_RUNNING_KUDUAGENT de la aplicación esté establecida en false.

Descargue el WebJob de ejemplo

Puede descargar un proyecto de muestra prediseñado para comenzar rápidamente. El ejemplo incluye dos archivos: webjob.py y run.sh.

El script de Python, webjob.py, envía la hora actual a la consola como se muestra a continuación:

import datetime 

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

El archivo, run.sh, llama a WebJob.py como se muestra a continuación:

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

Creación de un WebJob programado

  1. En Azure Portal, vaya a la página App Service de la aplicación App Service.

  2. En el panel izquierdo, seleccione WebJobs y, a continuación, seleccione Agregar.

    Recorte de pantalla que muestra cómo agregar un WebJob en una aplicación de App Service en el portal (WebJob programado).

  3. Rellene la configuración Agregar WebJob tal como se especifica en la tabla y seleccione Crear webjob. En Carga de archivos, asegúrese de seleccionar el archivo .zip que descargó anteriormente en la sección Descargar el WebJob de ejemplo .

    Recorte de pantalla que muestra cómo configurar un WebJob programado en una aplicación de App Service.

    Configuración valor Descripción
    Nombre webjob El nombre de WebJob. Debe comenzar con una letra o un número y no puede contener caracteres especiales, salvo por «-» y «_».
    Carga de archivos App-Service-Python-WebJobs-Quickstart-Main.zip El archivo .zip que contiene el archivo ejecutable o de script. Los tipos de archivo admitidos se enumeran en la sección Tipos de archivo compatibles .
    Tipo Desencadenado Especifica cuándo se ejecuta el WebJob: Continuo o Programado.
    Desencadenadores Programado Programada o Manual. Asegúrese de que Siempre activado esté habilitado para que la programación funcione de manera confiable.
    Expresión CRON 0 0/1 * * * * Para este inicio rápido, usamos una programación que se ejecuta cada minuto. Consulte Expresiones CRON para obtener más información sobre la sintaxis.
  4. El WebJob nuevo aparece en la página WebJobs. Si ve un mensaje que indica que se ha agregado el WebJob, pero no lo ve, seleccione Actualizar.

  5. El WebJob programado se ejecuta según la programación definida por la expresión CRON.

    Recorte de pantalla que muestra cómo detener un WebJob programado manualmente en Azure Portal.

WebJobs es una característica de Azure App Service que permite ejecutar un programa o script en la misma instancia que una aplicación web. Todos los planes de App Service admiten WebJobs sin costo adicional. En este ejemplo se usa un WebJob programado (desencadenado) para generar la hora del sistema una vez por minuto.

Prerrequisitos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
  • Una aplicación de nodo de App Service existente.
  • Always on debe estar habilitado en la aplicación.
  • Asegúrese de que la configuración WEBSITE_SKIP_RUNNING_KUDUAGENT de la aplicación esté establecida en false.

Descargue el WebJob de ejemplo

Puede descargar un proyecto de muestra prediseñado para comenzar rápidamente. El ejemplo incluye dos archivos: webjob.js y run.sh.

El JavaScript, webjob.js, envía la hora actual a la consola como se muestra a continuación:

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

El archivo, run.sh, llama a webjob.js como se muestra a continuación:

#!/bin/bash

node webjob.js

Creación de un WebJob programado

  1. En Azure Portal, vaya a la página App Service de la aplicación App Service.

  2. En el panel izquierdo, seleccione WebJobs y, a continuación, seleccione Agregar.

    Recorte de pantalla que muestra cómo agregar un WebJob en una aplicación de App Service en el portal (WebJob programado).

  3. Rellene la configuración Agregar WebJob tal como se especifica en la tabla y seleccione Crear webjob. En Carga de archivos, asegúrese de seleccionar el archivo .zip que descargó anteriormente en la sección Descargar el WebJob de ejemplo .

    Recorte de pantalla que muestra cómo configurar un WebJob programado en una aplicación de App Service.

    Configuración valor Descripción
    Nombre webjob El nombre de WebJob. Debe comenzar con una letra o un número y no puede contener caracteres especiales, salvo por «-» y «_».
    Carga de archivos App-Service-Node-WebJobs-Quickstart-Main.zip El archivo .zip que contiene el archivo ejecutable o de script. Los tipos de archivo admitidos se enumeran en la sección Tipos de archivo compatibles .
    Tipo Desencadenado Especifica cuándo se ejecuta el WebJob: Continuo o Programado.
    Desencadenadores Programado Programada o Manual. Asegúrese de que Siempre activado esté habilitado para que la programación funcione de manera confiable.
    Expresión CRON 0 0/1 * * * * Para este inicio rápido, usamos una programación que se ejecuta cada minuto. Consulte Expresiones CRON para obtener más información sobre la sintaxis.
  4. El WebJob nuevo aparece en la página WebJobs. Si ve un mensaje que indica que se ha agregado el WebJob, pero no lo ve, seleccione Actualizar.

  5. El WebJob programado se ejecuta según la programación definida por la expresión CRON.

    Recorte de pantalla que muestra cómo detener un WebJob programado manualmente en Azure Portal.

WebJobs es una característica de Azure App Service que permite ejecutar un programa o script en la misma instancia que una aplicación web. Todos los planes de App Service admiten WebJobs sin costo adicional. En este ejemplo se usa un WebJob programado (desencadenado) para generar la hora del sistema una vez por minuto.

Prerrequisitos

Preparación del WebJob

Se ha creado un WebJob Java de ejemplo para usted. En esta sección, revisará el ejemplo y, a continuación, compilará un archivo .JAR mediante Maven.

Revisión de la muestra

El proyecto Java ubicado en project/src/main/java/webjob/HelloWorld.java envía un mensaje y la hora actual a la consola.

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("------------------------------------------------------------"); 
    } 
} 

Compilar el WebJob de Java

  1. El run.sh script ejecuta un archivo jar con el nombre establecido en la configuración de Maven. Este script se ejecutará cuando se active nuestro WebJob.

    java -jar webjob-artifact-1.0.0.jar
    
  2. A continuación, compilamos el proyecto Java para producir el ejecutable .jar. Hay varias formas de hacer esto, pero para este ejemplo, usaremos Maven. Ejecute los siguientes comandos desde el directorio project/:

    mvn install 
    mvn package 
    

    Los archivos jar se ubicarán en project/target/webjob-artifact-1.0.0.jar después de una compilación exitosa.

  3. Mueva el archivo jar a la raíz del repositorio de git con mv project/target/webjob-artifact-1.0.0.jar .. A continuación, empaquete nuestra aplicación como un archivo .zip.

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

Creación de un trabajo web programado en Azure

  1. En Azure Portal, vaya a la página App Service de la aplicación App Service.

  2. En el panel izquierdo, seleccione WebJobs y, a continuación, seleccione Agregar.

    Recorte de pantalla que muestra cómo agregar un WebJob en una aplicación de App Service en el portal (WebJob programado).

  3. Rellene la configuración Agregar WebJob tal como se especifica en la tabla y seleccione Crear webjob. En Carga de archivos, asegúrese de seleccionar el archivo .zip que descargó anteriormente en la sección Descargar el WebJob de ejemplo .

    Recorte de pantalla que muestra cómo configurar un WebJob programado en una aplicación de App Service.

    Configuración value Descripción
    Nombre webjob El nombre de WebJob. Debe comenzar con una letra o un número y no puede contener caracteres especiales, salvo por «-» y «_».
    Carga de archivos webjob.zip El archivo .zip que contiene el archivo ejecutable o de script. Los tipos de archivo admitidos se enumeran en la sección Tipos de archivo compatibles .
    Tipo Desencadenado Especifica cuándo se ejecuta el WebJob: Continuo o Programado.
    Desencadenadores Programado Programada o Manual. Asegúrese de que Siempre activado esté habilitado para que la programación funcione de manera confiable.
    Expresión CRON 0 0/1 * * * * Para este inicio rápido, usamos una programación que se ejecuta cada minuto. Consulte Expresiones CRON para obtener más información sobre la sintaxis.
  4. El WebJob nuevo aparece en la página WebJobs. Si ve un mensaje que indica que se ha agregado el WebJob, pero no lo ve, seleccione Actualizar.

  5. El WebJob programado se ejecuta según la programación definida por la expresión CRON.

    Recorte de pantalla que muestra cómo detener un WebJob programado manualmente en Azure Portal.

WebJobs es una característica de Azure App Service que permite ejecutar un programa o script en la misma instancia que una aplicación web. Todos los planes de App Service admiten WebJobs sin costo adicional. En este ejemplo se usa un WebJob programado (desencadenado) para generar la hora del sistema una vez por minuto.

Prerrequisitos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
  • Una aplicación PHP de App Service existente en Linux. En este inicio rápido, se usa una aplicación PHP .
  • Always on debe estar habilitado en la aplicación.
  • Asegúrese de que la configuración WEBSITE_SKIP_RUNNING_KUDUAGENT de la aplicación esté establecida en false.

Descargue el WebJob de ejemplo

Puede descargar un proyecto de muestra prediseñado para comenzar rápidamente. El ejemplo incluye dos archivos: webjob.php y run.sh.

El script PHP, webjob.php, envía la hora actual a la consola como se muestra a continuación:

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

El archivo, run.sh, llama a webjob.php como se muestra a continuación:

#!/bin/bash

php -f webjob.php

Creación de un WebJob programado

  1. En Azure Portal, vaya a la página App Service de la aplicación App Service.

  2. En el panel izquierdo, seleccione WebJobs y, a continuación, seleccione Agregar.

    Recorte de pantalla que muestra cómo agregar un WebJob en una aplicación de App Service en el portal (WebJob programado).

  3. Rellene la configuración Agregar WebJob tal como se especifica en la tabla y seleccione Crear webjob. En Carga de archivos, asegúrese de seleccionar el archivo .zip que descargó anteriormente en la sección Descargar el WebJob de ejemplo .

    Recorte de pantalla que muestra cómo configurar un WebJob programado en una aplicación de App Service.

    Configuración value Descripción
    Nombre webjob El nombre de WebJob. Debe comenzar con una letra o un número y no puede contener caracteres especiales, salvo por «-» y «_».
    Carga de archivos App-Service-PHP-WebJobs-Quickstart-Main.zip El archivo .zip que contiene el archivo ejecutable o de script. Los tipos de archivo admitidos se enumeran en la sección Tipos de archivo compatibles .
    Tipo Desencadenado Especifica cuándo se ejecuta el WebJob: Continuo o Programado.
    Desencadenadores Programado Programada o Manual. Asegúrese de que Siempre activado esté habilitado para que la programación funcione de manera confiable.
    Expresión CRON 0 0/1 * * * * Para este inicio rápido, usamos una programación que se ejecuta cada minuto. Consulte Expresiones CRON para obtener más información sobre la sintaxis.
  4. El WebJob nuevo aparece en la página WebJobs. Si ve un mensaje que indica que se ha agregado el WebJob, pero no lo ve, seleccione Actualizar.

  5. El WebJob programado se ejecuta según la programación definida por la expresión CRON.

    Recorte de pantalla que muestra cómo detener un WebJob programado manualmente en Azure Portal.

Nota:

La zona horaria predeterminada que se usa para ejecutar las expresiones CRON es la Hora universal coordinada (UTC). Para que la expresión CRON se ejecute según otra zona horaria, cree una configuración de aplicación para la aplicación de función denominada WEBSITE_TIME_ZONE. Para obtener más información, consulte Zonas horarias de NCRONTAB.

Revisión de los registros de WebJob

Seleccione el registro del WebJob que creó anteriormente.

Recorte de pantalla que muestra cómo ver registros de WebJob en una aplicación de App Service en el portal (WebJob programado).

La salida debe tener una apariencia similar a la siguiente.

Captura de pantalla que muestra la salida del registro de WebJobs.

Limpieza

Para quitar el WebJob, seleccione el WebJob en el portal y seleccione Delete.

Captura de pantalla que muestra cómo se puede eliminar un WebJob en el portal.

Paso siguiente

Explore escenarios de WebJob más avanzados, incluidos desencadenadores y opciones de implementación