Example #1
0
        internal void Test_can_pause_a_created_job()
        {
            // Arrange
            var schedule = SimpleScheduleBuilder
                           .RepeatSecondlyForTotalCount(1)
                           .WithMisfireHandlingInstructionFireNow();

            var jobKey  = new JobKey("unit-test-job", "unit-testing");
            var trigger = TriggerBuilder
                          .Create()
                          .WithIdentity(jobKey.Name, jobKey.Group)
                          .WithSchedule(schedule)
                          .Build();

            var createJob = new CreateJob(
                this.receiver,
                new ConnectSession(Guid.NewGuid(), this.clock.TimeNow()),
                jobKey,
                trigger,
                Guid.NewGuid(),
                this.clock.TimeNow());

            this.scheduler.Endpoint.Send(createJob);

            var pauseJob = new PauseJob(
                jobKey,
                Guid.NewGuid(),
                this.clock.TimeNow());

            // Act
            this.scheduler.Endpoint.Send(pauseJob);

            // Assert
            // TODO: Write assertions
        }
Example #2
0
        private void OnMessage(PauseJob message)
        {
            if (!this.quartzScheduler.CheckExists(message.JobKey).Result)
            {
                this.Logger.LogError(LogId.Component, $"Job pause failed (JobKey={message.JobKey}, Reason=JobNotFound).");
                return;
            }

            var paused = this.quartzScheduler.PauseJob(message.JobKey);

            if (paused.IsCompletedSuccessfully)
            {
                this.Logger.LogInformation(LogId.Component, $"Job paused successfully (JobKey={message.JobKey}).");
            }
            else
            {
                this.Logger.LogError(LogId.Component, $"Job pause failed (JobKey={message.JobKey}, Reason=Unknown).");
            }
        }