Commit accd06327a09fa4865d91a17c6e2ea0d01c48006
1 parent
2fc5620f
Exists in
master
and in
13 other branches
[Fixed #92] Ajuste para não interromper monitoramento de pendências em situações de falha
Showing
4 changed files
with
26 additions
and
18 deletions
Show diff stats
rn/PendenciasTramiteRN.php
... | ... | @@ -71,17 +71,22 @@ class PendenciasTramiteRN extends InfraRN { |
71 | 71 | $arrQuantidadeErrosTramite = array(); |
72 | 72 | |
73 | 73 | while (true) { |
74 | - $this->gravarLogDebug('Recuperando lista de pendências do PEN', 1); | |
75 | - $arrObjPendenciasDTO = $this->obterPendenciasTramite(); | |
76 | - foreach ($arrObjPendenciasDTO as $objPendenciaDTO) { | |
77 | - $mensagemLog = sprintf(">>> Enviando pendência %d (status %s) para fila de processamento", | |
78 | - $objPendenciaDTO->getNumIdentificacaoTramite(), $objPendenciaDTO->getStrStatus()); | |
79 | - $this->gravarLogDebug($mensagemLog, 3, true); | |
80 | - $this->enviarPendenciaFilaProcessamento($objPendenciaDTO); | |
74 | + try { | |
75 | + $this->gravarLogDebug('Recuperando lista de pendências do PEN', 1); | |
76 | + $arrObjPendenciasDTO = $this->obterPendenciasTramite(); | |
77 | + foreach ($arrObjPendenciasDTO as $objPendenciaDTO) { | |
78 | + $mensagemLog = sprintf(">>> Enviando pendência %d (status %s) para fila de processamento", | |
79 | + $objPendenciaDTO->getNumIdentificacaoTramite(), $objPendenciaDTO->getStrStatus()); | |
80 | + $this->gravarLogDebug($mensagemLog, 3, true); | |
81 | + $this->enviarPendenciaFilaProcessamento($objPendenciaDTO); | |
82 | + } | |
83 | + } catch (Exception $e) { | |
84 | + //Apenas registra a falha no log do sistema e reinicia o ciclo de requisição | |
85 | + LogSEI::getInstance()->gravar(InfraException::inspecionar($e)); | |
86 | + } finally { | |
87 | + $this->gravarLogDebug("Reiniciando monitoramento de pendências", 1); | |
88 | + sleep(5); | |
81 | 89 | } |
82 | - | |
83 | - $this->gravarLogDebug("Reiniciando monitoramento de pendências", 1); | |
84 | - sleep(5); | |
85 | 90 | } |
86 | 91 | } |
87 | 92 | catch(Exception $e) { | ... | ... |
rn/ProcessarPendenciasRN.php
... | ... | @@ -33,9 +33,9 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa |
33 | 33 | ini_set('max_execution_time','0'); |
34 | 34 | ini_set('memory_limit','-1'); |
35 | 35 | |
36 | - InfraDebug::getInstance()->setBolLigado(false); | |
36 | + InfraDebug::getInstance()->setBolLigado(true); | |
37 | 37 | InfraDebug::getInstance()->setBolDebugInfra(false); |
38 | - InfraDebug::getInstance()->setBolEcho(false); | |
38 | + InfraDebug::getInstance()->setBolEcho(true); | |
39 | 39 | InfraDebug::getInstance()->limpar(); |
40 | 40 | |
41 | 41 | PENIntegracao::validarCompatibilidadeModulo(); | ... | ... |
rn/ReceberComponenteDigitalRN.php
... | ... | @@ -100,11 +100,14 @@ class ReceberComponenteDigitalRN extends InfraRN |
100 | 100 | $strHashDoArquivo = hash_file("sha256", $strCaminhoAnexo, true); |
101 | 101 | |
102 | 102 | if(strcmp($strHashInformado, $strHashDoArquivo) != 0) { |
103 | - | |
104 | - $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, "Hash do componente digital não confere com o valor informado pelo remetente.", ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_CORROMPIDO); | |
105 | - | |
106 | - // Adiciono nos detalhes o nome do método para poder manipular o cache | |
107 | - throw new InfraException("Hash do componente digital não confere com o valor informado pelo remetente.", null, __METHOD__); | |
103 | + $strMensagem = "Hash do componente digital não confere com o valor informado pelo remetente."; | |
104 | + $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, $strMensagem, ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_CORROMPIDO); | |
105 | + | |
106 | + $strHashInformadoBase64 = base64_encode($strHashInformado); | |
107 | + $strHashDoArquivoBase64 = base64_encode($strHashDoArquivo); | |
108 | + $strDetalhes = "Hash do componente digital informado pelo PEN: $strHashInformadoBase64 \n"; | |
109 | + $strDetalhes .= "Hash do componente digital calculado pelo SEI: $strHashDoArquivoBase64 \n"; | |
110 | + throw new InfraException($strMensagem, null, $strDetalhes); | |
108 | 111 | } |
109 | 112 | } |
110 | 113 | ... | ... |
rn/ReceberProcedimentoRN.php
... | ... | @@ -217,7 +217,7 @@ class ReceberProcedimentoRN extends InfraRN |
217 | 217 | } |
218 | 218 | } |
219 | 219 | } |
220 | - //$this->fecharProcedimentoEmOutraUnidades($objProcedimentoDTO, $objMetadadosProcedimento); | |
220 | + | |
221 | 221 | $this->gravarLogDebug("Enviando recibo de conclusão do trâmite $parNumIdentificacaoTramite", 6); |
222 | 222 | $objEnviarReciboTramiteRN = new EnviarReciboTramiteRN(); |
223 | 223 | $objEnviarReciboTramiteRN->enviarReciboTramiteProcesso($parNumIdentificacaoTramite, $arrayHash); | ... | ... |