Мэтью, надеюсь, я правильно понял ваш вопрос.
Hangfire может планировать задания на основе выражений cron .
С учетом вышесказанного, я бы посоветовал вам добавить выбор / раскрывающийся список в вашем интерфейсе с перечисленными возможностями cron. Передача значения выбранного элемента в задание контроллера / зависания. Смотрите примеры кода ниже:
тестер экспрессии cron
HTML:
<select>
<option value="0 10 * * * ">Every day at 10</option>
<option value="0 10 * * 6">Every Saturday at 10</option>
<option value="0 10 * * 1">Every Monday at 10</option>
</select>
замедленное воспламенение:
string cronExp = "0 10 * * *";
RecurringJob.AddOrUpdate(() => Console.WriteLine("Recurring!"), cronExp);