Esempio n. 1
0
        public void AcquireNextTriggers_TriggersAreInAcquiredState_Successfully()
        {
            //arrange
            var calendarName = "testCalendar1";

            JobStore.StoreCalendar(calendarName, new WeeklyCalendar(), true, true);
            var job = CreateJob();

            JobStore.StoreJob(job, true);
            JobStore.StoreTrigger(CreateTrigger("trigger1", "triggerGroup", job.Key, "* * * * * ?", calendarName), true);
            JobStore.StoreTrigger(CreateTrigger("trigger2", "triggerGroup", job.Key, "* * * * * ?", calendarName), true);
            JobStore.StoreTrigger(CreateTrigger("trigger3", "triggerfoobarGroup1", job.Key, "* * * * * ?", calendarName), true);
            JobStore.StoreTrigger(CreateTrigger("trigger4", "triggerfoobarGroup2", job.Key, "* * * * * ?", calendarName), true);

            //act
            var acquiredTriggers = JobStore.AcquireNextTriggers(new DateTimeOffset(DateTime.UtcNow), 20, TimeSpan.FromMilliseconds(1000)).Result;

            //assert
            Assert.IsTrue(acquiredTriggers.Count == 4);
            foreach (var trigger in acquiredTriggers)
            {
                Assert.AreEqual(TriggerState.Normal, JobStore.GetTriggerState(trigger.Key).Result);
                var triggerHashKey = Schema.TriggerHashkey(trigger.Key);
                Assert.IsTrue(Db.SortedSetScore(Schema.TriggerStateSetKey(RedisTriggerState.Acquired), triggerHashKey).Value > 0);
            }
        }
Esempio n. 2
0
        public void TriggerFiredSuccessfully()
        {
            //arrange
            var calendarName = "testCalendar10";

            JobStore.StoreCalendar(calendarName, new WeeklyCalendar(), true, true);
            var job = CreateJob();

            JobStore.StoreJob(job, true);
            JobStore.StoreTrigger(CreateTrigger("trigger1", "triggerGroup", job.Key, "* * * * * ?", calendarName), true);
            JobStore.StoreTrigger(CreateTrigger("trigger2", "triggerGroup", job.Key, "* * * * * ?", calendarName), true);
            JobStore.StoreTrigger(CreateTrigger("trigger3", "triggerfoobarGroup1", job.Key, "* * * * * ?", calendarName), true);
            JobStore.StoreTrigger(CreateTrigger("trigger4", "triggerfoobarGroup2", job.Key, "* * * * * ?", calendarName), true);
            var acquiredTriggers = JobStore.AcquireNextTriggers(new DateTimeOffset(DateTime.UtcNow), 20, TimeSpan.FromMilliseconds(1000)).Result;

            //act
            var triggerFiredResult = JobStore.TriggersFired(acquiredTriggers).Result;

            //assert
            Assert.IsTrue(triggerFiredResult.Count == 4);
        }
Esempio n. 3
0
        public void TriggerFired_JobIsDisallowedConcurrent_AddToBlockedJobSet()
        {
            //arrange
            var job =
                JobBuilder.Create <NonConcurrentJob>()
                .WithIdentity("testDisallowConcurrentJob", "JobGroup")
                .WithDescription("I am a DisallowConcurrent job")
                .Build();

            var trigger1 = CreateTrigger("trigger1", "triggerGroup1", job.Key, "* * * * * ?", "testCalendar33");

            JobStore.StoreCalendar("testCalendar33", new WeeklyCalendar(), true, true);
            JobStore.StoreJob(job, false);
            JobStore.StoreTrigger(trigger1, false);
            var jobHashKey       = Schema.JobHashKey(job.Key);
            var acquiredTriggers = JobStore.AcquireNextTriggers(new DateTimeOffset(DateTime.UtcNow), 20, TimeSpan.FromMilliseconds(1000)).Result;

            //act
            JobStore.TriggersFired(acquiredTriggers);

            //assert
            Assert.IsTrue(Db.SetContains(Schema.BlockedJobsSet(), jobHashKey));
        }