Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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");
        }