Come configurare Hangfire con MySQL

Perché Hangfire con MySQL

Se stai costruendo un'applicazione ASP.NET Core e hai già MySQL o MariaDB in produzione, non serve introdurre Redis o SQL Server solo per i background job. Il pacchetto community Hangfire.MySqlStorage ti permette di usare lo stesso database relazionale che hai già.

Installazione del pacchetto

Aggiungi il pacchetto NuGet al tuo progetto:

dotnet add package Hangfire.MySqlStorage

Configurazione base

Nel tuo Program.cs, registra Hangfire con lo storage MySQL:

builder.Services.AddHangfire(config => config
    .UseStorage(new MySqlStorage(connectionString, new MySqlStorageOptions
    {
        TablesPrefix = "Hangfire"
    })));

builder.Services.AddHangfireServer();

Vantaggi di questo approccio

Un avvertimento importante

Prossimi passi

Una volta configurato lo storage, puoi iniziare a schedulare job ricorrenti con RecurringJob.AddOrUpdate, o job fire-and-forget con BackgroundJob.Enqueue. Per un sistema di inviti a ondate come quello di LancerJob, i job ricorrenti sono lo strumento ideale.