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.
  • En el caso de los contenedores de Windows y todas las aplicaciones de Linux, 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 confirme que la aplicación funciona, compílela y vaya al directorio primario:

    dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
    
  5. (Solo Linux) En la raíz del proyecto, cree un run.sh con el código siguiente para ejecutar el ejecutable compilado:

    #!/bin/bash
    
    ./webjob
    
  6. Ahora, empaquete los archivos en un .zip como se muestra en el siguiente comando:

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

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 de Linux existente.
  • Always on debe estar habilitado en la aplicación.
  • Asegúrese de que la configuración de la aplicación WEBSITE_SKIP_RUNNING_KUDUAGENT esté establecida en false.

Preparación del ejemplo de WebJob

  1. Descargue el proyecto de ejemplo precompilado para empezar a trabajar rápidamente. El ejemplo incluye el archivo webjob.py, que genera la hora actual en 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
    
  2. Extraiga el archivo ZIP descargado y, a continuación, cree un nuevo archivo ZIP que contenga solo el webjob.py archivo (sin ningún directorio primario). WebJobs requiere que el archivo ejecutable o el script estén en la raíz del archivo ZIP.

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 creó anteriormente en la sección Preparar el trabajo web de ejemplo .

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

    Configuración valor Description
    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 Archivo .zip que contiene webjob.py en el nivel raíz. 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.
  • Para Linux, asegúrese de que la configuración de la aplicación WEBSITE_SKIP_RUNNING_KUDUAGENT esté establecida en false.

Preparación del ejemplo de WebJob

  1. Descargue el proyecto de ejemplo precompilado para empezar a trabajar rápidamente. El ejemplo incluye un archivo webjob.jsJavaScript , que genera la hora actual en 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}`);
    
  2. Extraiga el archivo ZIP descargado y, a continuación, cree un nuevo archivo ZIP que contenga solo el webjob.js archivo (sin ningún directorio primario). WebJobs requiere que el archivo ejecutable o el script estén en la raíz del archivo ZIP.

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 creó anteriormente en la sección Preparar el trabajo web de ejemplo .

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

    Configuración valor Description
    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 Archivo .zip que contiene webjob.js en el nivel raíz. 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.

Importante

WebJobs no son compatibles en contenedores de Linux personalizados basados en Alpine Linux, incluidas las aplicaciones de Linux que usan stacks de tiempo de ejecución de Java 8 y Java 11. A partir de las aplicaciones de Java 17 Linux, Azure App Service usa imágenes no basadas en Alpine, que son compatibles con WebJobs.

Prerrequisitos

Preparación del WebJob

  1. Descargue el ejemplo de WebJob de Java. Compilará un .JAR archivo mediante Maven. 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("------------------------------------------------------------"); 
        } 
    } 
    
  2. Compile y empaquete el proyecto de Java para generar el archivo ejecutable .jar mediante la ejecución de los siguientes comandos desde el project/ directorio:

    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. Empaqueta el project/target/webjob-artifact-1.0.0.jar como un archivo .zip.

    zip webjob.zip project/target/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 creó en la sección anterior.

    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 Archivo .zip que contiene webjob-artifact-1.0.0.jar. 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 de la aplicación WEBSITE_SKIP_RUNNING_KUDUAGENT esté establecida en false.

Preparación del ejemplo de WebJob

  1. Descargue el proyecto de ejemplo precompilado para empezar a trabajar rápidamente. El ejemplo contiene el archivo webjob.phpPHP , que genera la hora actual en 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;
    ?>
    
  2. Extraiga el archivo ZIP descargado y, a continuación, cree un nuevo archivo ZIP que contenga solo el webjob.php archivo (sin ningún directorio primario). WebJobs requiere que el archivo ejecutable o el script estén en la raíz del archivo ZIP.

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 creó anteriormente en la sección Preparar el trabajo web de ejemplo .

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

    Configuración valor Description
    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 Archivo .zip que contiene webjob.php en el nivel raíz. 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