Saltar al contenido

Deshabilitar la puesta en cola de Hangfire BackgroundJob fallido

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’.

ingrese la descripción de la imagen aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *