/// <summary> /// /// </summary> /// <param name="taskExecuter"></param> /// <returns></returns> private bool InternalExecuteTask(TaskExecuter taskExecuter) { var result = taskExecuter.Execute(); TaskExecuted?.Invoke(taskExecuter); return(result); }
public static ITaskExecuter LoadViaConfigurationSection(Section section) { if (section == null) { throw new ArgumentNullException("section"); } var runner = new TaskExecuter(); for (int i = 0; i < section.Tasks.Count; i++) { Element taskElement = section.Tasks[i]; runner.Add((ITask) DependencyInjection.Get(taskElement.Type)); } return runner; }
internal int OnExecute() { Console.CancelKeyPress += OnExit; Logger.IsColorEnabled = !IsColorDisabled; Logger.IsVerbose = IsVerbose; var context = new TaskContext() { TaskDefinitionFilePath = TaskDefinitionFilePath, EnvironmentVariables = EnvironmentVariables, SkippedSteps = SkippedSteps, WorkingDirectory = WorkingDictionary ?? Environment.CurrentDirectory }; executer = new TaskExecuter(context); return(executer.Execute()); }
public void SuccessTest() { var path = Path.GetFullPath("../../../../example-definitions/example3.yml"); var context = new TaskContext() { TaskDefinitionFilePath = path, EnvironmentVariables = new Dictionary <string, string>(), SkippedSteps = new HashSet <int>(), WorkingDirectory = Environment.CurrentDirectory }; var executer = new TaskExecuter(context); var exitCode = executer.Execute(); var testModule = executer.Definition.Modules["test"] as TestModule; Assert.AreEqual((int)ExitCode.Success, exitCode); Assert.AreEqual(3, testModule.CallCount); }
public bool?Run() { Logger.Info("Started task: {0}", GetType().Name); Initialize(); try { Execute(); TaskExecuter.StartExecuting(); return(true); } catch (Exception e) { Logger.ErrorException("Could not execute task " + GetType().Name, e); OnError(e); return(false); } finally { TaskExecuter.Discard(); Logger.Info("Finished task: {0}", GetType().Name); } }
protected override void OnActionExecuted(ActionExecutedContext filterContext) { ViewBag.IsAuthenticated = HttpContext.User.Identity.IsAuthenticated; ViewBag.Roles = GetRoles(); ViewBag.CanSeeAdminLink = AdminController.CanSeeAdminLink(ViewBag.Roles); if (ViewBag.IsAuthenticated) { var webAccount = DocumentSession.Load <WebAccount>(HttpContext.User.Identity.Name); ViewBag.Account = webAccount; } try { using (DocumentSession) { if (filterContext.Exception == null) { DocumentSession.SaveChanges(); TaskExecuter.StartExecuting(); } } } finally { TaskExecuter.Discard(); } }
public void Execute(IJobExecutionContext context) { TaskExecuter te = new TaskExecuter(); TaskGetter tg = new TaskGetter(); var obj = tg.GetTask(); uOw.UpdateContext(); if (obj == null) { return; } var task1 = parsermanager.Get(obj.TaskId); var endTime = parsermanager.Get(obj.TaskId).EndDate; if (endTime == null) { te.ExecuteTask(obj.TaskId, obj.GoodUrl); var task_s = parsermanager.Get(obj.TaskId); task_s.Status = (Common.Enum.Status.Infinite); parsermanager.Update(task_s); } else if (endTime != null && DateTime.Now <= endTime) { te.ExecuteTask(obj.TaskId, obj.GoodUrl); var task_s = parsermanager.Get(obj.TaskId); task_s.Status = (Common.Enum.Status.Coming); parsermanager.Update(task_s); } else { var task_s = parsermanager.Get(obj.TaskId); task_s.Status = (Common.Enum.Status.Finished); parsermanager.Update(task_s); } }