예제 #1
0
        public async Task ReportTaskStarted(Guid taskId, CancellationToken cancellationToken)
        {
            var jobId = await GetJobId(this.taskProperties.HubName, this.taskProperties.JobId, taskId);

            taskId = await GetTaskId(this.taskProperties.HubName, taskId);

            var startedEvent = new TaskStartedEvent(jobId, taskId);
            await taskClient.RaisePlanEventAsync(this.taskProperties.ProjectId, this.taskProperties.HubName, this.taskProperties.PlanId, startedEvent, cancellationToken).ConfigureAwait(false);
        }
예제 #2
0
        private static void HandleTaskStarted(
            TaskStartedEvent e)
        {
            var diagnosticsLog = new DiagnosticsLog(
                DiagnosticsProvider.GetGlobalDiagnostic(),
                DiagnosticsProvider.GetFirstDiagnostic());

            var log = new TaskExecutionLog(diagnosticsLog);

            log.TaskDuration.SetStart(e.Timestamp);

            e.Task.SetExecutionLog(log);
        }
예제 #3
0
        public virtual void Test(int ticks)
        {
            Active = true;

            var taskStartedEvent = new TaskStartedEvent(this);

            DomainEvents.Raise(taskStartedEvent);

            System.Threading.Thread.Sleep(ticks);

            var taskFinishedEvent = new TaskFinishedEvent(this);

            DomainEvents.Raise(taskFinishedEvent);

            Active = false;
        }
예제 #4
0
        public virtual void Run()
        {
            Active = true;

            var taskStartedEvent = new TaskStartedEvent(this);

            DomainEvents.Raise(taskStartedEvent);

            switch (TaskType)
            {
            case TaskType.Presentation:
                FileHandler.ConvertPPTToMP4(InputFile, OutputFile);
                break;

            case TaskType.Video:
                FileHandler.ConvertVideoToMP4(InputFile, OutputFile);
                break;
            }

            var taskFinishedEvent = new TaskFinishedEvent(this);

            DomainEvents.Raise(taskFinishedEvent);
        }
예제 #5
0
        public virtual void Start()
        {
            Active = true;

            var taskStartedEvent = new TaskStartedEvent(this);

            DomainEvents.Raise(taskStartedEvent);

            Run();

            if (LatestResponse != null)
            {
                LastRunResult  = LatestResponse.Code + " " + LatestResponse.Description;
                LastRunTime    = DateTime.Now;
                LastRunDetails = LatestResponse.Detail;
            }

            var taskFinishedEvent = new TaskFinishedEvent(this);

            DomainEvents.Raise(taskFinishedEvent);

            Active = false;
        }
예제 #6
0
 public void TaskEvents()
 {
     TaskStartedEvent.Subscribe(OnTaskStarted);
     TaskEndedEvent.Subscribe(OnTaskCompletedOrCancelled);
 }
예제 #7
0
 public void MainMethodCode()
 {
     TaskStartedEvent.Subscribe(OnTaskStarted);
     TaskEndedEvent.Subscribe(OnTaskCompletedOrCancelled);
 }
예제 #8
0
 private void OnTaskStarted(TaskStartedEvent obj)
 {
     Console.WriteLine("Task started");
 }