当前位置: 首页>>代码示例>>C#>>正文


C# ITask.Run方法代码示例

本文整理汇总了C#中ITask.Run方法的典型用法代码示例。如果您正苦于以下问题:C# ITask.Run方法的具体用法?C# ITask.Run怎么用?C# ITask.Run使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ITask的用法示例。


在下文中一共展示了ITask.Run方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: RunTask

        /// <inheritdoc/>
        public override void RunTask(ITask task)
        {
            #region Sanity checks
            if (task == null) throw new ArgumentNullException(nameof(task));
            #endregion

            task.Run(CancellationToken, CredentialProvider, new OneGetProgress(task.Name, _request, CancellationTokenSource));
        }
开发者ID:0install,项目名称:0install-win,代码行数:9,代码来源:OneGetHandler.cs

示例2: AddTask

 public static void AddTask(ITask t)
 {
     foreach (ITask t2 in Tasks)
         if (t.UniqueTaskName == t2.UniqueTaskName)
             return;
     
     Tasks.Add(t);
     t.Run();
 }
开发者ID:mlnlover11,项目名称:XMail,代码行数:9,代码来源:TaskManager.cs

示例3: Init

 public void Init()
 {
     // Create task
     Type taskType = Type.GetType(String.Format("UtilityTool.Tasks.{0}", Task));
     // Make sure type implements ITask
     if (typeof(ITask).IsAssignableFrom(taskType)) {
         TaskInstance = ((ITask)Activator.CreateInstance(taskType, Args));
         TaskInstance.Run();
     }
 }
开发者ID:Lawrr,项目名称:Utility-Tool,代码行数:10,代码来源:LayoutTaskHolder.cs

示例4: RunTask

        /// <inheritdoc/>
        public override void RunTask(ITask task)
        {
            #region Sanity checks
            if (task == null) throw new ArgumentNullException(nameof(task));
            #endregion

            Log.Debug("Task: " + task.Name);
            var progress = _wrapper.Post(form => form.GetProgressControl(task.Name));
            task.Run(CancellationToken, CredentialProvider, progress);
        }
开发者ID:0install,项目名称:0install-win,代码行数:11,代码来源:GuiTaskHandler.cs

示例5: Run

 public bool Run(ITask task)
 {
     return task.Run(config);
 }
开发者ID:xxy1991,项目名称:cozy,代码行数:4,代码来源:CozyBuildRunner.cs

示例6: manageTask

        private void manageTask(ITask value)
        {
            StartingTask.Raise(this, new TaskmanagerEventArgs() { Task = value });

            TaskEntry entry;
            if (QueuedTasks.TryGetValue(value.UniqueId, out entry))
            {
                if (entry.State == "pending")
                {
                    Exception exception = null;
                    try
                    {
                        CurrentTasks.TryAdd(value.UniqueId, value);

                        TaskEntry s;
                        QueuedTasks.TryRemove(value.UniqueId, out s);

                        StartedTask.Raise(this, new TaskmanagerEventArgs() { Task = value });
                        value.Run();
                    }
                    catch (Exception ex)
                    {
                        exception = ex;

                        Log.Error(ex.ToString());

                        TaskEntry s;
                        QueuedTasks.TryRemove(value.UniqueId, out s);

                        s.State = "error";
                        s.Message = ex.ToString() + "\n " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString();

                        s.UniqueId = value.UniqueId;
                        s.Description = value.TaskDescription; ;
                        s.Name = value.Name;
                        s.TimeStamp = value.TimeStamp;

                        ProcessedTasks.TryAdd(s.UniqueId, s);

                        ITask irt;
                        CurrentTasks.TryRemove(s.UniqueId, out irt);
                    }
                    finally
                    {
                        var ea = new TaskmanagerEventArgs() { Task = value, Exception = exception };
                        EndingTask.Raise(this, ea);

                        TaskEntry s;
                        QueuedTasks.TryRemove(value.UniqueId, out s);

                        s.State = "completed";
                        s.Message = "Completed on: " + DateTime.Now.ToString();

                        s.UniqueId = value.UniqueId;
                        s.Name = value.Name;
                        s.Description = value.TaskDescription;

                        s.TimeStamp = value.TimeStamp;

                        ProcessedTasks.TryAdd(s.UniqueId, s);

                        ITask irt;
                        CurrentTasks.TryRemove(s.UniqueId, out irt);

                        if (exception == null)
                            value.End();

                        EndedTask.Raise(this, ea);
                        value.Dispose();
                    }
                }
                else
                {
                    TaskEntry s;
                    QueuedTasks.TryRemove(value.UniqueId, out s);

                    ProcessedTasks.TryAdd(s.UniqueId, s);
                    value.Cancel();
                }
            }
        }
开发者ID:perploug,项目名称:PackageBootstrap,代码行数:81,代码来源:TaskManagerBase.cs

示例7: RunTask

        /// <summary>
        /// Runs a specific task and updates the status for the task.
        /// </summary>
        /// <param name="task"></param>
        /// <param name="result"></param>
        /// <param name="isPublisher"></param>
        private void RunTask(ITask task, IIntegrationResult result, bool isPublisher)
        {
            // Load the status details
            ItemStatus status = null;
            if (currentProjectItems.ContainsKey(task)) status = currentProjectItems[task];

            // If there is a status, update it
            var baseTask = task as TaskBase;
            if (status != null)
            {
                if (baseTask != null)
                {
                    status.TimeOfEstimatedCompletion = baseTask.CalculateEstimatedTime();
                    isPublisher = false;
                }

                status.TimeStarted = DateTime.Now;
                status.Status = ItemBuildStatus.Running;
                if ((status.Parent != null) && (status.Parent.Status == ItemBuildStatus.Pending))
                {
                    status.Parent.TimeStarted = status.TimeStarted;
                    status.Parent.Status = ItemBuildStatus.Running;
                }
            }

            try
            {
                // Run the actual task
                // publishers do not get the overall status, as they are also ran for failed builds
                // a pulisher must have the failed status if itself failed, not if a build failed
                task.Run(result);
                if (status != null && !isPublisher)
                {
                    var wasSuccessful = !result.Failed;
                    if (baseTask != null)
                    {
                        wasSuccessful = baseTask.WasSuccessful;
                    }

                    // Only need to update the status if it is not already set
                    switch (status.Status)
                    {
                        case ItemBuildStatus.Pending:
                        case ItemBuildStatus.Running:
                        case ItemBuildStatus.Unknown:
                            if (wasSuccessful)
                            {
                                status.Status = ItemBuildStatus.CompletedSuccess;
                            }
                            else
                            {
                                status.Status = ItemBuildStatus.CompletedFailed;
                            }
                            break;
                    }
                }
            }
            catch
            {
                // An exception was thrown, so we will assume that the task failed
                if (status != null) status.Status = ItemBuildStatus.CompletedFailed;
                throw;
            }
            finally
            {
                if (status != null) status.TimeCompleted = DateTime.Now;
            }
        }
开发者ID:robrich,项目名称:CruiseControl.NET,代码行数:74,代码来源:Project.cs

示例8: RunTask

 public bool RunTask(ITask task)
 {
     return task.Run();
 }
开发者ID:pgermishuys,项目名称:Jubilee,代码行数:4,代码来源:TaskRunner.cs

示例9: RunTask

        /// <summary>
        /// Runs a task.
        /// </summary>
        /// <param name="task"></param>
        /// <param name="result"></param>
        /// <param name="taskDetails"></param>
        private void RunTask(ITask task, IIntegrationResult result, RunningSubTaskDetails taskDetails)
        {
            var tsk = task as IParamatisedItem;
            if (tsk!= null)
            {
                tsk.ApplyParameters(parameters, parameterDefinitions);
            }

            if (result != null)
            {
                result.BuildProgressInformation.OnStartupInformationUpdatedUserObject = taskDetails;
                result.BuildProgressInformation.OnStartupInformationUpdated = SubTaskStartupInformationUpdated;
            }
            task.Run(result);
        }
开发者ID:nickdurcholz,项目名称:CruiseControl.NET,代码行数:21,代码来源:ConditionalTask.cs

示例10: RunTask

        /// <summary>
        /// Runs a task.
        /// </summary>
        /// <param name="task"></param>
        /// <param name="result"></param>
        protected virtual void RunTask(ITask task, IIntegrationResult result)
        {
            var tsk = task as IParamatisedItem;
            if (tsk != null)
            {
                tsk.ApplyParameters(parameters, parameterDefinitions);
            }

            task.Run(result);
        }
开发者ID:robrich,项目名称:CruiseControl.NET,代码行数:15,代码来源:TaskContainerBase.cs

示例11: RunTask

        private bool RunTask(ITask task)
        {
            if (task != null && task.Active)
            {
                try
                {
                    task.Run();
                }
                catch (Exception ex)
                {
                    Log.Warn(string.Format("Running of Task:'{0}' in Job:'{1}' failed", task.Name, Name), ex);

                    if (task != m_OnErrorTask)
                        RunTask(m_OnErrorTask);

                    return !StopOnError;
                }
            }

            return true;
        }
开发者ID:5509850,项目名称:baumax,代码行数:21,代码来源:Job.cs

示例12: ProcessQueued

        //private void OnUpdate(Event e)
        //{
        //    Tick();
        //}
        private void ProcessQueued()
        {
            if (_queued.Count > 0 && null == _current) // check if no current processing
            {
                _current = _queued[0]; // take the first one
                _currentIndex++;

                _queued.Remove(_current); // remove it from the queue

            #if DEBUG
                if (DebugMode)
                    Debug.Log(string.Format(@"######### STARTING job [{0}] #########", _current));
            #endif

                _current.Run(); // run it
            }
        }
开发者ID:darktable,项目名称:eDriven,代码行数:21,代码来源:TaskQueue.cs

示例13: RunTask

        /// <summary>
        /// Runs a task.
        /// </summary>
        /// <param name="task"></param>
        /// <param name="result"></param>
        protected virtual void RunTask(ITask task, IIntegrationResult result)
        {
            if (task is IParamatisedItem)
            {
                (task as IParamatisedItem).ApplyParameters(parameters, parameterDefinitions);
            }

            task.Run(result);
        }
开发者ID:derrills1,项目名称:ccnet_gitmode,代码行数:14,代码来源:TaskContainerBase.cs

示例14: RunTaskAndMergeResult

		private static void RunTaskAndMergeResult(ITask task, IIntegrationResult result)
		{
			IIntegrationResult subResult = result.Clone();
			try
			{
				task.Run(subResult);
			}
			finally
			{
				result.Merge(subResult);
			}
		}
开发者ID:timonela,项目名称:mb-unit,代码行数:12,代码来源:VMTask.cs

示例15: RunTask

        /// <inheritdoc/>
        public override void RunTask(ITask task)
        {
            #region Sanity checks
            if (task == null) throw new ArgumentNullException(nameof(task));
            #endregion

            if (Verbosity <= Verbosity.Batch)
                task.Run(CancellationToken, CredentialProvider);
            else
            {
                Log.Debug("Task: " + task.Name);
                Console.Error.WriteLine(task.Name + @"...");
                using (var progressBar = new TaskProgressBar())
                    task.Run(CancellationToken, CredentialProvider, progressBar);
            }
        }
开发者ID:nano-byte,项目名称:common,代码行数:17,代码来源:CliTaskHandler.cs


注:本文中的ITask.Run方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。