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.