Question: 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?

Answer: 
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](https://github.com/atifaziz/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](https://i.stack.imgur.com/RLeYF.png)](https://i.stack.imgur.com/RLeYF.png)
Hangfire doesn't support intervals of less than a minute for recurring jobs. 

Why? Imagine if they allowed less than a minute: let say 1 sec. How frequently would hangfire check recurring jobs in the database? This would cause a lot of database IO. 

See [this discussion](https://discuss.hangfire.io/t/recurring-job-every-seconds/877) on Hangfire for more information.