static void Main(string[] args) { // Lógica para simular um serviço var processo = new Processar(); var taskProcesso = Task.Run(() => processo.Executar()); var taskControle = Task.Run(() => { if (Console.ReadLine() == "PARAR") { processo.SolicitarEncerramento(); Console.Write("Aguardando encerramento do processo"); while (taskProcesso.Status != TaskStatus.RanToCompletion) { Console.Write("."); Thread.Sleep(TimeSpan.FromSeconds(1)); } } }); Console.WriteLine("Processo em execução."); Console.WriteLine("Para encerrar o processo, digite PARAR e tecle ENTER."); while (taskProcesso.Status != TaskStatus.RanToCompletion || taskControle.Status != TaskStatus.RanToCompletion) { Thread.Sleep(TimeSpan.FromSeconds(1)); } Console.WriteLine(); Console.WriteLine("Processo encerrado"); Console.ReadLine(); }
public static void Start() { NFe.Service.TFunctions.CriarArquivosParaServico(); Empresas.CarregaConfiguracao(); #region Ticket #110 Empresas.CreateLockFile(true); #endregion //Executar o monitoramento de pastas das empresas cadastradas MonitoraPasta e = new MonitoraPasta(); Threads.Clear(); //Executa a thread que faz a limpeza dos arquivos temporários Thread t = new Thread(new Processar().LimpezaTemporario); t.IsBackground = true; t.Start(); Threads.Add(t); //Executa a thread que faz a verificação das notas em processamento Thread t2 = new Thread(new Processar().EmProcessamento); t2.IsBackground = true; t2.Start(); Threads.Add(t2); //Executar a thread que faz a consulta do recibo das notas fiscais enviadas Processar srv = new Processar(); Thread t3 = new Thread(srv.GerarXMLPedRec); t3.IsBackground = true; t3.Start(new NFe.Service.TaskNFeGerarXMLPedRec()); Threads.Add(t3); }
public void ProcessarDados([FromBody] List <DadosInputModel> Dados) { var classe = "Risco"; var Propriedades = new Extensoes().GerarPropriedades(Dados, classe); var Arvore = new Processar().InduzirArvore(Dados, Propriedades, classe); Ok(Arvore); }