コード例 #1
0
        public void CreateTask(string action, DateTime scheduledUtc)
        {
            var taskRecord = new ScheduledTaskRecord
            {
                TaskType     = action,
                ScheduledUtc = scheduledUtc,
            };

            _repository.Create(taskRecord);
        }
コード例 #2
0
        public void CreateTask(string action, DateTime scheduledUtc, ContentItem contentItem)
        {
            var taskRecord = new ScheduledTaskRecord {
                TaskType     = action,
                ScheduledUtc = scheduledUtc,
            };

            if (contentItem != null)
            {
                taskRecord.ContentItemVersionRecord = contentItem.VersionRecord;
            }
            _repository.Create(taskRecord);
        }
コード例 #3
0
        private int CreateTask(string action, DateTime scheduledUtc, ContentItem contentItem)
        {
            var taskRecord = new ScheduledTaskRecord {
                TaskType     = action,
                ScheduledUtc = scheduledUtc,
            };

            if (contentItem != null)
            {
                taskRecord.ContentItemVersionRecord = contentItem.VersionRecord;
            }
            _repoTasks.Create(taskRecord);
            return(taskRecord.Id);
        }
コード例 #4
0
        public void ScheduledTaskHandlersShouldBeCalledWhenTasksAreExecuted()
        {
            var task = new ScheduledTaskRecord {
                TaskType = "Ignore", ScheduledUtc = _clock.UtcNow.Add(TimeSpan.FromHours(2))
            };

            _repository.Create(task);

            _repository.Flush();
            _clock.Advance(TimeSpan.FromHours(3));

            Assert.That(_handler.TaskContext, Is.Null);
            _executor.Sweep();
            Assert.That(_handler.TaskContext, Is.Not.Null);

            Assert.That(_handler.TaskContext.Task.TaskType, Is.EqualTo("Ignore"));
            Assert.That(_handler.TaskContext.Task.ContentItem, Is.Null);
        }
コード例 #5
0
        public void RecordsWhenTheyAreExecutedShouldBeDeleted()
        {
            var task = new ScheduledTaskRecord {
                TaskType = "Ignore", ScheduledUtc = _clock.UtcNow.Add(TimeSpan.FromHours(2))
            };

            _repository.Create(task);

            _repository.Flush();
            _executor.Sweep();

            _repository.Flush();
            Assert.That(_repository.Count(x => x.TaskType == "Ignore"), Is.EqualTo(1));

            _clock.Advance(TimeSpan.FromHours(3));

            _repository.Flush();
            _executor.Sweep();

            _repository.Flush();
            Assert.That(_repository.Count(x => x.TaskType == "Ignore"), Is.EqualTo(0));
        }
コード例 #6
0
 protected void whenTaskCompleted(ScheduledTaskRecord scheduled)
 {
     scheduled.SubmitterReceipt.WhenTaskExceptionEscaped -= taskHadException;
 }