Search code examples
c#.nethangfire

Hangfire recurring tasks under minute


Is there a way to set hangfire recurring jobs every few seconds? I do not seek a solution where fire and forget task creates another fire and forget task, and if not, what are suggested alternatives?


Solution

  • Not sure when this became supported but tried this in ASP.NET Core 2.0 with Hangfire 1.7.0. The following code schedules a job every 20 seconds:

    RecurringJob.AddOrUpdate<SomeJob>(
        x => x.DoWork(),
        "*/20 * * * * *");
    

    If I am not mistaken 6 tokens (as opposed to standard 5 tokens) is supported due to Hangfire use of NCrontab which allows cron expressions with 6 tokens (second granularity instead of minute granularity).

    Hangfire dashboard also nicely shows the small time interval between runs:

    Hangfire dashboard