Exemple #1
0
        /// <summary>
        /// Inicializador das tasks. Podem ser criadas N tasks de variados engines
        /// </summary>
        /// <returns></returns>
        public string Init()
        {
            var ret = "";

            try
            {
                var cancellSrc          = new CancellationTokenSource();
                CancellationToken token = cancellSrc.Token;
                var engine = new Engine();
                var task   = new FTask(new Action(engine.Execute), TaskCreationOptions.LongRunning, "name");
                task.Engine             = engine;
                task.CancellationSource = cancellSrc;
                _tasks.Add(task);


                ret += DateTime.Now.ToLongTimeString().ToString() + ": Tarefas carregadas." + Environment.NewLine;

                if (StartTasks())
                {
                    ret += DateTime.Now.ToLongTimeString().ToString() + ": Todas as tarefas estão iniciadas." + Environment.NewLine;
                }
                else
                {
                    ret += DateTime.Now.ToLongTimeString().ToString() + ": Uma ou mais tarefas não foram iniciadas corretamente. Tente abrir o sistema novamente." + Environment.NewLine;
                    return(ret);
                }

                return(ret);
            }
            catch (Exception e)
            {
                return(ret += DateTime.Now.ToLongTimeString().ToString() + "Falha na inicialização de tarefas: " + e.Message + Environment.NewLine);
            }
        }
 public CustomThreadTask(FTask task, object state, string name, CustomThreadTaskDebugHandler onDebug)
     : this(task, state, name)
 {
     this.onCustomThreadTaskDebug += onDebug;
 }
 public CustomThreadTask(FTask task, object state, string name)
     : this(task, state)
 {
     _name = name;
 }
 public CustomThreadTask(FTask task, object state)
 {
     _task  = task;
     _state = state;
 }