Solución:
Resuelto, usando [AutomaticRetry(Attempts = 0)]
Puede anotar el método para que se ejecute en segundo plano con el siguiente atributo:
[AutomaticRetry(Attempts = 0)]
O configúrelo globalmente:
GlobalJobFilters.Filters.Add(new AutomaticRetryAttribute { Attempts = 0 });
Importante si usa un contenedor DI con una interfaz, debe colocar el atributo en la definición de la interfaz
public interface IDataUpdater
{
[Hangfire.AutomaticRetry(Attempts = 0, OnAttemptsExceeded = AttemptsExceededAction.Delete)]
void UpdateData();
}
Poner en cola el trabajo como este
Hangfire.RecurringJob.AddOrUpdate<IDataUpdater>(updater => updater.UpdateData(), Cron.Hourly);
Pruébelo simplemente lanzando cualquier excepción anterior dentro de su implementación. Si lo ha hecho bien, verá esto en el historial de trabajos en ‘eliminado’.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)