public void NotRerunOnFailure() { var success = new JobHistoryEntry(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(1)), _jobKey, JobResult.Failure); _schedule.GetExecutionPriority(_jobKey, success, success, DateTime.UtcNow) .Should().Be(0); }
public void ShouldBeReTriggeredWhenTimesUp() { var success = new JobHistoryEntry(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(2.01)), _jobKey, JobResult.Success); _schedule.GetExecutionPriority(_jobKey, success, success, DateTime.UtcNow) .Should().BeGreaterThan(0); }
public void ShouldRetry() { var failure = new JobHistoryEntry(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(1)), _jobKey, JobResult.Failure); _schedule.GetExecutionPriority(_jobKey, failure, null, DateTime.UtcNow).Should().Be(1); }
public void ShouldOnlyRunOnceSuccessful() { var success = new JobHistoryEntry(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(2)), _jobKey, JobResult.Success); _schedule.GetExecutionPriority(_jobKey, success, success, DateTime.UtcNow).Should().Be(0); }
public void ShouldRerunImmediately_IfFailedInTimeSlot() { var successInTimeSlot = new JobHistoryEntry(StartTime.AddMinutes(2), _jobKey, JobResult.Failure); _timeSlotSchedule.GetExecutionPriority(_jobKey, successInTimeSlot, null, StartTime.Add(TimeSpan.FromSeconds(1))).Should().BeGreaterThan(0); }
public void ShouldOnlyRunOnceInTimeSlot() { var successInTimeSlot = new JobHistoryEntry(StartTime.AddMinutes(2), _jobKey, JobResult.Success); _timeSlotSchedule.GetExecutionPriority(_jobKey, successInTimeSlot, successInTimeSlot, StartTime.Add(TimeSpan.FromSeconds(1))).Should().Be(0); }
public void CustomPriorityShouldBeUsed() { _schedule.Priority = 5; var success = new JobHistoryEntry(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(2.1)), _jobKey, JobResult.Success); _schedule.GetExecutionPriority(_jobKey, success, success, DateTime.UtcNow) .Should().Be(5); }
public void ShouldUseCustomRerunDelayAndNotRerunEarly() { _schedule.RetryDelay = TimeSpan.FromMinutes(1); var success = new JobHistoryEntry(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(0.75)), _jobKey, JobResult.Failure); _schedule.GetExecutionPriority(_jobKey, success, success, DateTime.UtcNow) .Should().Be(0); }
public void ShouldNotRetryInsideOfRetryDelay() { _schedule.RetryDelay = TimeSpan.FromMinutes(5); var failure = new JobHistoryEntry(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(2)), _jobKey, JobResult.Failure); _schedule.GetExecutionPriority(_jobKey, failure, null, DateTime.UtcNow).Should().Be(0); }
private JobHistoryEntry AddJobHistoryEntry(JobResult jobResult, TimeSpan timeBeforeNow) { var executionTime = DateTime.UtcNow.Subtract(timeBeforeNow); var jobHistoryEntry = new JobHistoryEntry(executionTime, JobKey, jobResult, "SomeString"); _jobHistory.Add(jobHistoryEntry); return(jobHistoryEntry); }
public void PriorityShouldIncreaseByMinutesDelay() { var success = new JobHistoryEntry(DateTime.UtcNow.Subtract(TimeSpan.FromMinutes(8.5)), _jobKey, JobResult.Success); // Priority is the delay in minutes from when it should have actually been triggered var increasedPriority = 6; _schedule.GetExecutionPriority(_jobKey, success, success, DateTime.UtcNow) .Should().Be(increasedPriority); }