Ejemplo n.º 1
0
        void ThreadMain_ExecuteTaskItem(object arg)
        {
            ITaskItem task = arg as ITaskItem;

            try
            {
                OnTakkBegin?.Invoke(task, "");
                // run current task
                task.Start();

                // notify current task running result
                OnTaksFinished?.Invoke(task, task.Finished());

                _tasks.Dequeue();

                // run next task if exist.
                Start();
            }
            catch (Exception ex)
            {
                OnTaksFinished?.Invoke(task, TTaskResult.EFailed); // TODO: notify exception.
            }
        }