/// <summary> /// Resume (un-pause) all of the <see cref="T:Quartz.ITrigger"/>s /// in the given group. /// <para> /// If any <see cref="T:Quartz.ITrigger"/> missed one or more fire-times, then the /// <see cref="T:Quartz.ITrigger"/>'s misfire instruction will be applied. /// </para> /// </summary> public override IList <string> ResumeTriggers(GroupMatcher <TriggerKey> matcher) { var resumedTriggerGroups = new List <string>(); if (matcher.CompareWithOperator.Equals(StringOperator.Equality)) { var triggerGroupSetKey = RedisJobStoreSchema.TriggerGroupSetKey(matcher.CompareToValue); Db.SetRemove(RedisJobStoreSchema.PausedTriggerGroupsSetKey(), triggerGroupSetKey); var triggerHashKeysResult = Db.SetMembers(triggerGroupSetKey); foreach (var triggerHashKey in triggerHashKeysResult) { var trigger = RetrieveTrigger(RedisJobStoreSchema.TriggerKey(triggerHashKey)); ResumeTrigger(trigger.Key); if (!resumedTriggerGroups.Contains(trigger.Key.Group)) { resumedTriggerGroups.Add(trigger.Key.Group); } } } else { foreach (var triggerGroupSetKy in Db.SetMembersAsync(RedisJobStoreSchema.TriggerGroupsSetKey()).Result) { if (matcher.CompareWithOperator.Evaluate(RedisJobStoreSchema.TriggerGroup(triggerGroupSetKy), matcher.CompareToValue)) { resumedTriggerGroups.AddRange(ResumeTriggers(GroupMatcher <TriggerKey> .GroupEquals(RedisJobStoreSchema.TriggerGroup(triggerGroupSetKy)))); } } } return(resumedTriggerGroups); }