public long UpdateTriggersStates(Models.TriggerState newState, params Models.TriggerState[] oldStates) { return(Collection.UpdateMany( trigger => trigger.Id.InstanceName == InstanceName && oldStates.Contains(trigger.State), UpdateBuilder.Set(trigger => trigger.State, newState)).ModifiedCount); }
public async Task <long> UpdateTriggerState(TriggerKey triggerKey, Models.TriggerState state) { var result = await Collection.UpdateOneAsync(trigger => trigger.Id == new TriggerId(triggerKey, InstanceName), UpdateBuilder.Set(trigger => trigger.State, state)).ConfigureAwait(false); return(result.ModifiedCount); }
public long UpdateTriggersStates(JobKey jobKey, Models.TriggerState newState) { return(Collection.UpdateMany( trigger => trigger.Id.InstanceName == InstanceName && trigger.JobKey == jobKey, UpdateBuilder.Set(trigger => trigger.State, newState)).ModifiedCount); }
public async Task <long> UpdateTriggerState(TriggerKey triggerKey, Models.TriggerState newState, Models.TriggerState oldState) { var result = await Collection.UpdateOneAsync( trigger => trigger.Id == new TriggerId(triggerKey, InstanceName) && trigger.State == oldState, UpdateBuilder.Set(trigger => trigger.State, newState)); return(result.ModifiedCount); }
public long UpdateTriggersStates(GroupMatcher <TriggerKey> matcher, Models.TriggerState newState, params Models.TriggerState[] oldStates) { return(Collection.UpdateMany(FilterBuilder.And( FilterBuilder.Eq(trigger => trigger.Id.InstanceName, InstanceName), FilterBuilder.Regex(trigger => trigger.Id.Group, matcher.ToBsonRegularExpression()), FilterBuilder.In(trigger => trigger.State, oldStates)), UpdateBuilder.Set(trigger => trigger.State, newState)).ModifiedCount); }
public async Task <long> UpdateTriggersStates(Models.TriggerState newState, params Models.TriggerState[] oldStates) { var result = await Collection.UpdateManyAsync( trigger => trigger.Id.InstanceName == InstanceName && oldStates.Contains(trigger.State), UpdateBuilder.Set(trigger => trigger.State, newState)).ConfigureAwait(false); return(result.ModifiedCount); }
public async Task <long> UpdateTriggersStates(JobKey jobKey, Models.TriggerState newState) { var result = await Collection.UpdateManyAsync( trigger => trigger.Id.InstanceName == InstanceName && trigger.JobKey == jobKey, UpdateBuilder.Set(trigger => trigger.State, newState)).ConfigureAwait(false); return(result.ModifiedCount); }
public static Trigger CreateTrigger(ITrigger trigger, Models.TriggerState state, string instanceName) { if (trigger is ICronTrigger) { return(new CronTrigger((ICronTrigger)trigger, state, instanceName)); } if (trigger is ISimpleTrigger) { return(new SimpleTrigger((ISimpleTrigger)trigger, state, instanceName)); } if (trigger is ICalendarIntervalTrigger) { return(new CalendarIntervalTrigger((ICalendarIntervalTrigger)trigger, state, instanceName)); } if (trigger is IDailyTimeIntervalTrigger) { return(new DailyTimeIntervalTrigger((IDailyTimeIntervalTrigger)trigger, state, instanceName)); } throw new NotSupportedException($"Trigger of type {trigger.GetType().FullName} is not supported"); }
public List <TriggerKey> GetTriggerKeys(Models.TriggerState state) { return(Collection.Find(trigger => trigger.Id.InstanceName == InstanceName && trigger.State == state) .Project(trigger => trigger.Id.GetTriggerKey()) .ToList()); }
public long UpdateTriggerState(TriggerKey triggerKey, Models.TriggerState newState, Models.TriggerState oldState) { return(Collection.UpdateOne( trigger => trigger.Id == new TriggerId(triggerKey, InstanceName) && trigger.State == oldState, UpdateBuilder.Set(trigger => trigger.State, newState)).ModifiedCount); }
public async Task <List <TriggerKey> > GetTriggerKeys(Models.TriggerState state) { return(await Collection.Find(trigger => trigger.Id.InstanceName == InstanceName && trigger.State == state) .Project(trigger => trigger.Id.GetTriggerKey()) .ToListAsync().ConfigureAwait(false)); }
public async Task <long> UpdateTriggersStates(GroupMatcher <TriggerKey> matcher, Models.TriggerState newState, params Models.TriggerState[] oldStates) { var result = await Collection.UpdateManyAsync(FilterBuilder.And( FilterBuilder.Eq(trigger => trigger.Id.InstanceName, InstanceName), FilterBuilder.Regex(trigger => trigger.Id.Group, matcher.ToBsonRegularExpression()), FilterBuilder.In(trigger => trigger.State, oldStates)), UpdateBuilder.Set(trigger => trigger.State, newState)).ConfigureAwait(false); return(result.ModifiedCount); }