3 minutos de lectura
0
En el desarrollo de aplicaciones web modernas, es común encontrarse con la necesidad de ejecutar tareas de manera periódica o programada, como enviar correos electrónicos, generar informes o realizar mantenimiento en la base de datos. Estas tareas, conocidas como cron jobs, son una parte esencial de la gestión eficiente de los recursos y el rendimiento de nuestras aplicaciones.
En esta entrada de blog, exploraremos cómo implementar un cron job en una aplicación ASP.NET Core Web API utilizando el paquete Hangfire.AspNetCore. Hangfire es una potente y flexible biblioteca de código abierto que nos permite programar y gestionar tareas en segundo plano de manera eficiente y escalable. Además, Hangfire proporciona un panel de control integrado para monitorear y administrar nuestras tareas programadas.
A continuación, te guiaré paso a paso a través del proceso de configuración de Hangfire en un proyecto ASP.NET Core Web API, y cómo implementar un cron job simple para enviar correos electrónicos. ¡Vamos a empezar!
Instalar los siguientes paquetes Hangfire.AspNetCore
y Hangfire.MemoryStorage
.
Puedes hacer esto atraves del gestor de paquetes de NuGet.
También puedes instalar el paquete desde la consola de NuGet o .NET CLI ejecutando el siguiente comando:
Abre el archivo Program.cs
y añade las siguientes referencias con la configuración para Hangfire:
Crea una carpeta llamada Helpers
y añade una clase CronJobs
:
Para habilitar el panel de control de Hangfire en tu archivo Program.cs
, agrega app.UseHangfireDashboard()
después de app.UseAuthorization()
y antes de app.MapControllers()
.
En el archivo Program.cs
, incluye las siguientes líneas de código antes de app.Run()
para registrar adecuadamente la tarea recurrente:
Si todo funciona correctamente, podrás visualizar las tareas recurrentes en el panel de control de Hangfire en la siguiente dirección: https://localhost:7021/hangfire/recurring
Además, en la consola de Visual Studio en modo de desarrollo, podrás observar la ejecución de la tarea programada cada minuto.
Espero que este artículo te haya sido útil para implementar un cron job utilizando Hangfire en ASP.NET Core Web API. Si tienes alguna pregunta o comentario, no dudes en dejarlo en la sección de comentarios a continuación. Si este artículo te resultó útil, por favor compártelo con tus amigos y colegas para que también puedan beneficiarse de esta información.
¡Gracias por leer y no olvides compartir tus experiencias utilizando Hangfire en tus proyectos!
Si lo deseas, puedes apoyarme con una donación voluntaria. Tu aporte me permite dedicar más tiempo a investigar, escribir y mejorar la calidad del contenido que publico. ¡Muchísimas gracias por considerar impulsar este proyecto!
Compartir en: