Ejemplo n.º 1
0
 public void AddTask(ICompositeTask task)
 {
     lock ( _mutex )
     {
         _tasks.AddLast(task);
         Wakeup();
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Submits a composite task of type T to the desired consumer
        /// </summary>
        /// <typeparam name="T">IDataSet type</typeparam>
        /// <param name="task">the task to consume</param>
        public void SubmitCompositeTask <T>(ICompositeTask <T> task) where T : IDataSet
        {
            task.SetTaskReporter(taskReporter);

            if (task.GetTaskType() == CompositeTaskType.ASYNCHRONOUS)
            {
                if (!(task is ITaskObserver))
                {
                    Task.Factory.StartNew(() =>
                    {
                        task.Run();
                    });
                }
            }
            else if (task.GetTaskType() == CompositeTaskType.SYNCHRONOUS)
            {
                syncTaskQueue.Submit(task);
            }
        }
Ejemplo n.º 3
0
 public void SubmitCompositeTask <T>(ICompositeTask <T> compositeTask) where T : IDataSet
 {
     numberOfTasks++;
     this.compositeTaskController.SubmitCompositeTask(compositeTask);
 }
Ejemplo n.º 4
0
 public TaskPoolBuilder SubmitCompositeTask <T>(ICompositeTask <T> compositeTask) where T : IDataSet
 {
     taskPool.SubmitCompositeTask(compositeTask);
     this.currentTask = compositeTask;
     return(this);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Submits a composite task to be processed in the queue
 /// </summary>
 /// <typeparam name="T">IDataSet type</typeparam>
 /// <param name="task">The composite task to execute</param>
 public void Submit <T>(ICompositeTask <T> task) where T : IDataSet
 {
     taskQueue.Add(task);
 }