/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="recurringJobManager"></param> /// <param name="settingsManager"></param> /// <param name="enablerSetting"></param> /// <param name="cronSetting"></param> /// <param name="methodCall"></param> /// <param name="jobId"></param> /// <param name="queue"></param> public static void WatchJobSetting <T>(this IRecurringJobManager recurringJobManager, ISettingsManager settingsManager, SettingDescriptor enablerSetting, SettingDescriptor cronSetting, Expression <Func <T, Task> > methodCall, string jobId, TimeZoneInfo timeZoneInfo, string queue) { if (recurringJobManager == null) { throw new ArgumentNullException(nameof(recurringJobManager)); } if (settingsManager == null) { throw new ArgumentNullException(nameof(settingsManager)); } var settingCronJob = new SettingCronJobBuilder(new SettingCronJob()) .SetEnablerSetting(enablerSetting) .SetCronSetting(cronSetting) .SetJobId(jobId) .SetQueueName(queue) .SetTimeZoneInfo(timeZoneInfo) .ToJob(methodCall) .Build(); recurringJobManager.WatchJobSettingAsync(settingsManager, settingCronJob).GetAwaiter().GetResult(); }
/// <summary> /// use SettingCronJobBuilder for preparing SettingCronJob /// </summary> /// <param name="recurringJobManager"></param> /// <param name="settingsManager"></param> /// <param name="settingCronJob"></param> /// <returns></returns> public static void WatchJobSetting(this IRecurringJobManager recurringJobManager, ISettingsManager settingsManager, SettingCronJob settingCronJob) { recurringJobManager.WatchJobSettingAsync(settingsManager, settingCronJob).GetAwaiter().GetResult(); }