示例#1
0
        private void RunTask(string name, FileSystemEventArgs args)
        {
            var arguments = new Arguments(
                new KeyValuePair <string, string>(name, args.FullPath),
                new KeyValuePair <string, string>("ChangeType", args.ChangeType.ToString()));

            _runner.Execute(_factory.Get <TTask>(), arguments);
        }
        public void RunTask(string taskName, params KeyValuePair <string, string>[] arguments)
        {
            if (string.IsNullOrWhiteSpace(taskName))
            {
                throw new ArgumentException(@"Value cannot be null or empty", nameof(taskName));
            }

            _taskRunner.Execute(_taskFactory.Get(taskName), new Arguments(arguments));
        }
        public void Handle(HostArguments args)
        {
            if (args == null)
            {
                throw new ArgumentNullException(nameof(args));
            }

            ITask task = _factory.Get(args.Command);

            _runner.Execute(task, args.Args);
        }
示例#4
0
            public override void StartTask(ITaskExecutionContext context)
            {
                _taskRunner.Execute(_taskFactory.Get <MigrateTask>());

                using (var session = _db.OpenSession())
                {
                    int id = session.ExecuteScalar <int>(@"
INSERT INTO MyTable (Name) VALUES (@Name);
SELECT last_insert_rowid();", new { Name = "Test" });

                    context.Log.Message("Number of rows: {0}", id);
                }
            }
示例#5
0
        public bool TryHandle(SlackBotCommandContext context, CancellationToken token, out Task task)
        {
            task = null;

            string taskName = context.IncomingMessage.Text;

            ITask taskToExecute;

            if (!string.IsNullOrWhiteSpace(taskName) && _factory.TryGet(taskName, out taskToExecute))
            {
                task = context.WriteText($"Task {taskToExecute.Name()} is being executed.")
                       .ContinueWith(t => Task.FromResult(_runner.Execute(taskToExecute)), token)
                       .ContinueWith(t => context.WriteText($"Task {taskToExecute.Name()} finished executing."), token);
            }

            return(task != null);
        }
示例#6
0
        public IHttpActionResult Get()
        {
            TaskExecutionResult result = _runner.Execute(_factory.Get <WriteDocumentationTask>());

            return(Ok(result));
        }
示例#7
0
 public override void StartTask(ITaskExecutionContext context)
 {
     _runner.Execute(_factory.Get <SubTask>(), context.Arguments);
 }