Tareas en segundo plano y Azure WebJob


Existen diferentes maneras de ejecutar procesos que permiten hacer tareas en segundo plano:

En esta entrada vamos a centrarnos en el WebJob.

Pasos para crear un Azure WebJob

  • 1.- Botón derecho sobre el proyecto Web Application creado con el ASP NET 4.5.2 template (En el ASP NET 5 template no aparece la opción 😦 ) y crear el WebJob.
    newazurewebjobproject
    Diferentes modos para lanzar la ejecución del proceso:

    • Run Continuously: Proceso que va capturando items para procesar de una cola.
    • Run on Demand: Proceso que se dispara manualmente desde la consola de Azure.
    • Scheduled: Porceso que se dispara segun programación horaria.
  • 2.- Crear un Storage Account. En este storage se almacenaran el histórico de ejecuciones y el log del proceso.
  • 3.- Modificar el app.config del proyecto WebJob; con las cadenas de conexión al storage.
    <connectionStrings>
        <add name="AzureWebJobsDashboard" connectionString="DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"/>
        <add name="AzureWebJobsStorage" connectionString="DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"/>
     </connectionStrings>
    
  • 4.- Poner el Application Settings del portal de Azure la connection string con el nombre AzureWebJobsStorage apuntando al storage (añadiendo en el web.config de la Web Application no me funciona ¿?). logsazurewebjobEsto habilita la posibilidad de ver la información desde un panel Web.
  • alwaysonwebjob5.- Para que los WebJobs se ejecuten la Web Application debe configurarse a Always On en el Application Settings del portal de Azure. Esto evita que los jobs se aborten al pararse la Web Application.
  • publishwebjob6.- Podemos publicar la Web Application y nos publicara también el WebJob o podemos publicar tambien tan solo el WebJob.

Numero de WebJobs Disponible

Puede ser que al ir añadiendo WebJobs nos encontremos con el siguiente error: An error occurred while creating the WebJob schedule: Response status code does not indicate success: 409 (Conflict). .Por defecto, el número de WebJobs esta limitado a 5, pero se puede incrementar incrementado escalando el servicio 😉
limitewebjobs

Anuncios
Esta entrada fue publicada en Azure y etiquetada . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s