private static async Task HandleSettingChangeAsyncIntnl(this IRecurringJobManager recurringJobManager, ISettingsManager settingsManager, ObjectSettingChangedEvent message)
 {
     foreach (var changedEntry in message.ChangedEntries.Where(x => x.EntryState == EntryState.Modified ||
                                                               x.EntryState == EntryState.Added))
     {
         if (_observedSettingsDict.TryGetValue(changedEntry.NewEntry.Name, out var settingCronJob))
         {
             await RunOrRemoveJobAsync(recurringJobManager, settingsManager, settingCronJob);
         }
     }
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="recurringJobManager"></param>
 /// <param name="settingsManager"></param>
 /// <param name="message"></param>
 /// <returns></returns>
 public static Task HandleSettingChangeAsync(this IRecurringJobManager recurringJobManager, ISettingsManager settingsManager, ObjectSettingChangedEvent message)
 {
     if (recurringJobManager == null)
     {
         throw new ArgumentNullException(nameof(recurringJobManager));
     }
     if (settingsManager == null)
     {
         throw new ArgumentNullException(nameof(settingsManager));
     }
     return(HandleSettingChangeAsyncIntnl(recurringJobManager, settingsManager, message));
 }