anatelgovbr / mod-sei-peticionamento

Projeto Oficial do Módulo do SEI de Peticionamento e Intimação Eletrônicos. PROJETO DE DESENVOLVIMENTO COLABORATIVO, contudo, deve abrir Issue de demanda para discussão antes de qualquer desenvolvimento.
GNU General Public License v3.0
13 stars 12 forks source link

Configuração de limite de memória #29

Closed drobaptista closed 1 year ago

drobaptista commented 2 years ago

Pessoal, estamos tendo um problema aqui no órgão para fazer peticionamento externo de arquivos grandes:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 230874732 bytes) in /***/peticionamento/int/MdPetIntercorrenteINT.php on line 358

Aqui precisamos trabalhar com alguns arquivos grandes, inclusive, os limites de upload do SEI foram ajustados para essa necessidade.

Mas não encontramos uma forma de ajustar esses limites especificamente para o módulo de peticionamento. Aparentemente, o módulo está aceitando o upload do arquivo, mas não consegue fazer a leitura do conteúdo por causa do limite de memória do php.

Poderíamos aumentar o memory_limit no php.ini, mas temos preocupações quanto ao impacto dessa alteração no servidor.

O que eu gostaria de propor é que no módulo de peticionamento, no arquivo que faz o upload, seja aplicado um nível de memória maior, assim como é feito pelo SEI em alguns arquivos. Com isso, poderíamos ajustar os valores pela aplicação, sem precisar fazer a alteração no servidor, o que afetaria todo o ambiente.

Na classe ConfiguracaoSEI é possível alterar os valores:

'Limites' => array( 'Nivel1TempoSeg' => 60, 'Nivel1MemoriaMb' => 256, 'Nivel2TempoSeg' => 600, 'Nivel2MemoriaMb' => 2048, 'Nivel3TempoSeg' => 0, 'Nivel3MemoriaMb' => 4096, ),

E pela classe LimiteSEI é possível aplicar com os métodos configurarNivel1, configurarNivel2 e configurarNivel3.

O que acham?

Caso tenham alguma outra recomendação para essa situação, será bem-vinda.

Obrigado!

neijobson commented 1 year ago

@drobaptista Publicamos agora a v4.1.0 do módulo e fizemos o ajuste sugerido: https://github.com/anatelgovbr/mod-sei-peticionamento/releases