private void OnMessage(ResumeJob message) { if (!this.quartzScheduler.CheckExists(message.JobKey).Result) { this.Logger.LogError(LogId.Component, $"Job resume failed (JobKey={message.JobKey}, Reason=JobNotFound)."); return; } var resume = this.quartzScheduler.ResumeJob(message.JobKey); if (resume.IsCompletedSuccessfully) { this.Logger.LogInformation(LogId.Component, $"Job resumed successfully (JobKey={message.JobKey})."); } else { this.Logger.LogError(LogId.Component, $"Job resume failed (JobKey={message.JobKey}, Reason=Unknown)."); } }
internal void Test_can_resume_a_paused_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()); // Used to get job key. this.scheduler.Endpoint.Send(createJob); var pauseJob = new PauseJob( jobKey, Guid.NewGuid(), this.clock.TimeNow()); this.scheduler.Endpoint.Send(pauseJob); var resumeJob = new ResumeJob( jobKey, Guid.NewGuid(), this.clock.TimeNow()); // Act this.scheduler.Endpoint.Send(resumeJob); // Assert // TODO: Write assertions }