/hangfire (requires is_admin JWT claim).
Job schedule reference
Retry behavior
All jobs use the same retry policy: 3 attempts with exponential backoff.
After 3 failed attempts, the job moves to the Failed queue in the Hangfire dashboard and stops retrying automatically.
What to do when a job fails repeatedly
- Go to
/hangfire→ Failed Jobs - Click on the failed job to see the full exception and stack trace
- Fix the root cause (usually a database connectivity issue, Stripe API error, or configuration problem)
- Click Requeue to retry the job immediately
- Monitor the job’s next scheduled run to confirm it succeeds
token-cleanupfails → usually a PostgreSQL connectivity issuesubscription-syncfails → usually a Stripe API rate limit or network issue; retries automaticallytrial-expiryfails → usually an email delivery issue; check Resend dashboard
Triggering a job manually
From the Hangfire dashboard:- Recurring Jobs tab
- Find the job by name
- Click Trigger now
Disabling a job
To disable a job without deleting it:Viewing job history
Hangfire stores the execution history of every job run. From the dashboard:- Succeeded — completed runs with duration and timestamp
- Failed — failed runs with exception details
- Recurring Jobs — next scheduled run, last execution status
HangfireConfiguration.cs.