Failed
The execution filter reports a failed result when Hangfire records an exception.
start → fail
Hangfire reliability
CronRadar reads Hangfire's recurring-job registry, synchronizes schedules, and records each start, completion, and failure—without adding monitoring calls to every job.
Runnable setup
Register the integration in the process that runs your Hangfire server. Review the package release note above, then verify discovery and one real execution in your application.
dotnet add package CronRadar.Hangfire
# Set this in the deployed process
CRONRADAR_API_KEY=ck_app_xxxxxxxxxxxxxxxxxxxx
using CronRadar.Hangfire;
using Hangfire;
builder.Services.AddHangfire(configuration =>
configuration.UseSqlServerStorage(connectionString));
builder.Services.AddHangfireServer();
builder.Services.AddCronRadarHangfire();Explore before installing
See an example missed backup and the email that explains what happened. No account needed.
This illustration uses sample data. To verify your own setup, connect a real job and confirm a test notification from your alert settings.
Founding-customer offer
We will identify how missed, failed, stuck, disappeared, and bad-outcome runs are covered today. If CronRadar fits, we will help verify one safe automation and its notification path. The audit is no-cost and does not require a purchase.
You leave with
Bring the purpose of one recurring job and how you monitor it today. No code, credentials, or purchase needed to start the conversation.
What is actually observed
Hangfire executes jobs. CronRadar independently watches whether the expected lifecycle arrives.
The execution filter reports a failed result when Hangfire records an exception.
start → fail
The synchronized cron schedule establishes when the next run should arrive, including the configured grace period.
expected run → no signal
A start without a matching completion is treated as a timed-out execution.
start → no completion
Discovery keeps the job inventory visible. Automatic removal requires an integration that explicitly sends a full registry reconciliation; review package availability before relying on it.
scheduler registry → monitored inventory
SDK network errors and timeouts are caught. Monitoring does not change the outcome of the job it observes.
HTTP timeout: 5 seconds
Add [SkipMonitor] to jobs you do not want monitored. Non-paused development and staging jobs otherwise count toward the same active-job limit.
[SkipMonitor]
Recurring job did not run
Trace the scheduler, server, and independent missed-run signal.
Retries exhausted
See how terminal failures differ from intermediate retries.
Job started but never finished
Diagnose stuck work and prove the completion signal.
Product evidence

Before you install
No. Keep Hangfire for queues, retries, servers, and job administration. CronRadar adds an independent dead-man signal and notification path for recurring work.
The SDK catches monitoring failures and caps its HTTP request at five seconds. It observes Hangfire execution; it does not swallow or alter your job exception.
Restart the scheduler and verify the new job and schedule in CronRadar. Retired jobs are only auto-paused by an explicit full registry reconciliation; older integrations may require you to pause the retired monitor yourself.
Run CronRadar alongside them, verify each recurring job appears and completes once, test one safe failure alert, then remove the old per-job check-ins. There is no need for a flag-day cutover.
Need manual control instead? Use the base .NET SDK.
Start with five active automations free. No card, per-seat fee, or auto-discovery overage.