Set Hangfire succeeded job expiry attribute not working

My mistake in setup was that the attribute was set on the wrong application. As I stated in the question, I added the filter in the startup.cs file of the asp.net web api where jobs are posted.

Instead I should have added the configuration in the Console application where the jobs are being executed, i.e., my console app starts with

static void Main(string[] args)
{
    GlobalConfiguration.Configuration.UseSqlServerStorage("HangFireDBConnection");
    GlobalJobFilters.Filters.Add(new OneYearExpirationTimeAttribute());
    // ... more stuff ...
}

Then it works. The Hangfire documentation could be a bit clearer on where the filter should be configured.

Tags:

C#

Hangfire