RecurringJobRegistry
The list of recurring jobs discovered by RegisterRecurringJobs, built once when the host starts.
Application code depends on IRecurringJobRegistry to report what is scheduled, on a diagnostics endpoint or a startup log line.
Jobs
The discovered jobs as RecurringJobInfo values, in discovery order. A job is absent when it resolves to disabled, which is decided by the configuration override first, then what the attribute declares, then EnabledByDefault. Built once at startup, so the list is fixed for the lifetime of the application and reading it costs nothing.
using Microsoft.AspNetCore.Mvc;
using AlmightyShogun.Hangfire.RecurringJobs;
[ApiController]
[Route("ops/jobs")]
public sealed class JobsController(
IRecurringJobRegistry registry
) : ControllerBase
{
[HttpGet]
public IActionResult List() => Ok(registry.Jobs);
}TIP
This describes the schedule, not the runs. Whether a job is executing, when it last ran, and whether it succeeded live in Hangfire storage and are read through Hangfire's own monitoring API.
Type signature
public IReadOnlyList<RecurringJobInfo> Jobs { get; }