Hangfire Job Dashboard¶
Autotask Mirror uses Hangfire for background job processing. The Hangfire Dashboard provides detailed visibility into job execution.
Accessing the Dashboard¶
Click Job Dashboard in the left sidebar or navigate to /hangfire. The dashboard opens in a new browser tab.
Note
When authentication is enabled, the Hangfire Dashboard requires sign-in using the same identity provider as the main application.
Dashboard Sections¶
Recurring Jobs¶
Lists all scheduled entity sync jobs. Each row shows:
- Job ID — The entity name
- Cron expression — The schedule in cron format
- Next execution — When the job will next run
- Last execution — When the job last ran
Jobs¶
Browse jobs by state:
- Enqueued — Jobs waiting to be picked up by a worker
- Processing — Jobs currently running
- Succeeded — Completed jobs (retained for 24 hours by default)
- Failed — Jobs that threw an exception
- Scheduled — Jobs scheduled for future execution (e.g., retries)
Retries¶
Failed sync jobs are automatically retried up to 5 times with exponential backoff:
| Attempt | Delay |
|---|---|
| 1st retry | 1 minute |
| 2nd retry | 5 minutes |
| 3rd retry | 15 minutes |
| 4th retry | 30 minutes |
| 5th retry | 1 hour |
After 5 failed attempts, the job remains in the Failed state until the next scheduled run.
Servers¶
Shows the active Hangfire server and its worker count. The number of workers determines how many sync jobs can run simultaneously. See Preferences to adjust the worker count.
Distributed Locking¶
Each entity sync job acquires a distributed lock before running. This prevents the same entity from being synced by multiple workers simultaneously. If a lock cannot be acquired (because a previous run is still in progress), the job is skipped.