Esempio n. 1
0
        public async Task MaxRuntimeIsRespected()
        {
            IJobScheduler scheduler = new JobScheduler(_builder);
            var           job       = new MaxRuntimeJob(new NoRetry(), TimeSpan.FromMilliseconds(50));
            var           jobRunner = scheduler.ScheduleJobInternal(new JobScheduler.JobContainer(job));
            await jobRunner.WaitForJob();

            jobRunner.Elapsed.Should().BeCloseTo(job.MaxRuntime !.Value, TimeSpan.FromMilliseconds(20));
        }
Esempio n. 2
0
        public async Task MaxRuntimeIsRespectedAndTaskRetriedWithBackoff()
        {
            IJobScheduler scheduler  = new JobScheduler(_builder);
            var           maxRetries = 3;
            var           job        = new MaxRuntimeJob(new ExponentialBackoffRetry(TimeSpan.FromMilliseconds(10), maxRetries), TimeSpan.FromMilliseconds(80));
            var           jobRunner  = scheduler.ScheduleJobInternal(new JobScheduler.JobContainer(job));
            await jobRunner.WaitForJob();

            jobRunner.Elapsed.Should().BeCloseTo(job.MaxRuntime !.Value, TimeSpan.FromMilliseconds(20));
            jobRunner.Retries.Should().Be(maxRetries);
        }