- ProfileWork.cs: Business logic for DB-to-Hangfire sync - Fetches active profiles from database via MediatR - Registers/updates Hangfire recurring jobs with local timezone - Removes stale jobs (deleted from DB) - O(n) performance optimization using HashSet for lookups - Uses ProfileWorker's stopping token for graceful shutdown Job lifecycle: - ProfileWorker stops → All running jobs cancelled via token closure - Jobs use RecurringJobOptions with TimeZoneInfo.Local - Automatic retry support via Hangfire [AutomaticRetry] attribute
2.1 KiB
2.1 KiB