private void Task_TinctTaskStatusChanged(object sender, TinctTaskEventArgs e) { TinctTask task = sender as TinctTask; //log var taskInfo = new TinctTaskInfo(task.Context, task.TaskStatus); foreach (var w in task.WaittingTinctTasks) { taskInfo.WaitTaskIDs.Add(w.ID); } logentity.Message = taskInfo; logger.LogInfo(logentity); switch (task.TaskStatus) { case TinctTaskStatus.Completed: break; case TinctTaskStatus.PartCompleted: break; case TinctTaskStatus.WaittingToRun: lock (syncqueue) { queuetasks.Enqueue(task); if (EnqueTask != null) { EnqueTask(this,new EventArgs()); } break; } case TinctTaskStatus.Faulted: break; case TinctTaskStatus.Running: break; case TinctTaskStatus.Waitting: break; case TinctTaskStatus.Canceled: break; case TinctTaskStatus.Exception: break; } }
public override void AddTinctTask(TinctTask task) { task.TinctTaskStatusChanged += Task_TinctTaskStatusChanged; //log var taskInfo = new TinctTaskInfo(task.Context, task.TaskStatus); foreach (var w in task.WaittingTinctTasks) { taskInfo.WaitTaskIDs.Add(w.ID); } logentity.Message = taskInfo; logger.LogInfo(logentity); lock (synctasks) { tinctTasks.Add(task); } if (task.TaskStatus == TinctTaskStatus.WaittingToRun) { lock (syncqueue) { queuetasks.Enqueue(task); if (EnqueTask != null) { EnqueTask(this, new EventArgs()); } } } }