Пример #1
0
 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);
        }
Пример #3
0
 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);
        }
Пример #5
0
 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");
        }
Пример #9
0
 public List <TriggerKey> GetTriggerKeys(Models.TriggerState state)
 {
     return(Collection.Find(trigger => trigger.Id.InstanceName == InstanceName && trigger.State == state)
            .Project(trigger => trigger.Id.GetTriggerKey())
            .ToList());
 }
Пример #10
0
 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);
        }