public void VerificarStatusCampanha() { Console.WriteLine(Environment.GetEnvironmentVariable("CAMPANHA")); var id = Guid.Parse(Environment.GetEnvironmentVariable("CAMPANHA")); var dadosCampanha = _campanhaWorkflowService.Find(a => a.CampanhaId.Equals(id)); var workflowStatus = dadosCampanha.Status; switch (workflowStatus) { case (int)WorkflowStatus.WorkflowManager: _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.MessageBuilder); _dockerHelper.RunAsync(id, "nyom.messagebuilder"); Console.WriteLine("Status Atualizado, iniciando MessageBuilder"); break; case (int)WorkflowStatus.MessageBuilder: case (int)WorkflowStatus.QueueBuilder: case (int)WorkflowStatus.PushSender: case (int)WorkflowStatus.LoggingCleanup: break; case (int)WorkflowStatus.MessageBuilderCompleted: Console.WriteLine("Entrou aqui 2"); _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.QueueBuilder); _dockerHelper.RunAsync(id, "nyom.queuebuilder"); Console.WriteLine("Status Atualizado, iniciando QueuBuilder"); break; case (int)WorkflowStatus.QueueBuilderCompleted: _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.PushSender); _dockerHelper.RunAsync(id, "nyom.pushsender"); Console.WriteLine("Status Atualizado, iniciando PushSender"); break; case (int)WorkflowStatus.PushSenderCompleted: _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.Finished); Console.WriteLine("Status Atualizado, Finalizado"); break; case (int)WorkflowStatus.LoggingCleanupCompleted: _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.Finished); break; case (int)WorkflowStatus.Finished: break; case (int)WorkflowStatus.Error: break; case (int)WorkflowStatus.Blocked: break; case (int)WorkflowStatus.Cancelled: break; default: throw new ArgumentOutOfRangeException(nameof(workflowStatus), workflowStatus, null); } }
public void BuscarCampanhas(object stateInfo) { Console.WriteLine("Bem vindo ao Nyom "); var dadosCampanha = _campanhaWorkflowService.FindAll(a => a.Status.Equals(Convert.ToInt16(WorkflowStatus.Ready))) .OrderBy(a => a.DataCriacao).FirstOrDefault(); if (dadosCampanha == null) { Console.WriteLine("Não há campanhas"); return; } _atualizarStatus.AtualizarStatusApi(dadosCampanha.CampanhaId, (int)WorkflowStatus.WorkflowManager); _dockerHelper.RunAsync(dadosCampanha.CampanhaId, "nyom.workflow.manager"); Console.WriteLine("Campanha encontrada, iniciando Workflow Manager"); }