Esempio n. 1
0
        public async Task <Result> ScheduleJobAsync(Job job)
        {
            var schedulingResult = await _scheduler.ScheduleJobAsync(job);

            var savingResult = await _storage.SaveJobAsync(job);

            return(Result.Combine(schedulingResult, savingResult)
                   .OnFailure(async() => await UnscheduleJobAsync(job.Key))
                   .OnBoth(result => _logger.LogInformation($"Job {job.Key} was scheduled and saved successfully")));
        }
Esempio n. 2
0
        public async Task CreateJob_KeyAlreadyExistsInSchedulerResult()
        {
            //Arrange
            var job = _jobMaker.CreateTestJob();

            //Act
            await _scheduler.ScheduleJobAsync(job);

            var result = await _persistentScheduler.ScheduleJobAsync(job);

            //Assert
            Assert.True(result.Failure);
            Assert.Equal(SchedulerConsts.JobAlreadyScheduled, result.Error);
        }