16573 - Erro de "Out of memory" na integração de produtos com foto ao Gestão de Lojas
Problema: Descrição do Problema: Ao gerar uma carga inicial de produtos para o Gestão de Lojas, que contenham fotos ligadas aos produtos, é gerada a seguinte mensagem no integrador:
------------------------------------------------------------------------
O retorno do adapter (IntegradorWSAdapter) teve um retorno com status de erro apos chamar o método de exportação da integração do tipo 5. As mensagens informadas pelo adapter foram O sistema erp parece não estar acessível, verifique se os serviços necessários foram iniciados.
(CódigoIntegracao:5 WebService:Sapiens_Synccom_senior_g5_co_int_varejo_produto Port:exportar
Mensagem Externa: Ocorreu um erro ao executar o serviço Integrações - Varejo - Cadastros - Exportar Produto: Out of memory)
------------------------------------------------------------------------
Importante: o erro pode ocorrer, também, em qualquer integração de produto, não somente na Carga Inicial.
Rotina / Tela: Rotina de carga inicial de produtos ou exportação de produtos que passem do limite de dados a serem trafegados pelo Middleware.
Solução: Solução: Este erro é decorrente de uma limitação do Middleware Senior, que atualmente possui capacidade para tráfego de requisições com no máximo 32Mb de tamanho. Este problema só ocorre quando existem fotos ligadas a produtos e o tamanho da requisição do lote de produtos solicitados ultrapassa os 32Mb.
Como contorno, o usuário poderá equalizar o campo CLASSIFICACAO_INTEGRACAO.TAM_LOTE na base dos integradores do Gestão de Lojas (IntegradorFilial e IntegradorMatriz), que por padrão está como 100 itens. Deve-se realizar uma análise entre tamanho do lote parametrizado nos Integradores versus tamanho das fotos a serem exportadas.
Exemplo: se a cada 5 produtos exportados, o tamanho da requisição é de 30Mb, então o tamanho do lote definido na tabela CALSSIFICACAO_INTEGRACAO deverá ser no máximo 5 produto.
IMPORTANTE: a diminuição do tamanho do lote de podutos a ser integrado (que é efetivamente quantos produtos o ERP Senior irá exportar em cada requisição) ocasionára no aumento do tempo para que a operação de integração seja concluída. Por este motivo, é muito importante encontrar um tamanho de lote compatível com a quantidade de registros a serem integrados, de forma que não ocasione o erro mencionado também.
Caso a carga inicial ou a exportação parcial já tenha sido efetuada e o erro já esteja apresentando nos Integradores, deve-se verificar nas tabelas FILA dos integradores do Gestão de Lojas, procurando por integrações do tipo produtos, realizando update do status de integração dos mesmos:
UPDATE FILA SET STATUS = 'I' WHERE CODINTEGRACAO = 5 AND STATUS in ('P', 'R');
--> Altera todos as integrações de produtos que estão pendente de integração para que o sistema ignore estas pendências. IMPORTANTE: em caso de necessidade de filtrar ainda mais os registros a serem afetados pelo Update, deve-se alterar a cláusula 'where', repassando mais parâmetros.
Informação adicional: esta situação já foi analisada pela gestão de produto da Senior, onde foi definido que a solução é a adequação da parametrização do sistema com base no cenário encontrado para a integração.
------------------------------------------------------------------------
O retorno do adapter (IntegradorWSAdapter) teve um retorno com status de erro apos chamar o método de exportação da integração do tipo 5. As mensagens informadas pelo adapter foram O sistema erp parece não estar acessível, verifique se os serviços necessários foram iniciados.
(CódigoIntegracao:5 WebService:Sapiens_Synccom_senior_g5_co_int_varejo_produto Port:exportar
Mensagem Externa: Ocorreu um erro ao executar o serviço Integrações - Varejo - Cadastros - Exportar Produto: Out of memory)
------------------------------------------------------------------------
Importante: o erro pode ocorrer, também, em qualquer integração de produto, não somente na Carga Inicial.
Rotina / Tela: Rotina de carga inicial de produtos ou exportação de produtos que passem do limite de dados a serem trafegados pelo Middleware.
Solução: Solução: Este erro é decorrente de uma limitação do Middleware Senior, que atualmente possui capacidade para tráfego de requisições com no máximo 32Mb de tamanho. Este problema só ocorre quando existem fotos ligadas a produtos e o tamanho da requisição do lote de produtos solicitados ultrapassa os 32Mb.
Como contorno, o usuário poderá equalizar o campo CLASSIFICACAO_INTEGRACAO.TAM_LOTE na base dos integradores do Gestão de Lojas (IntegradorFilial e IntegradorMatriz), que por padrão está como 100 itens. Deve-se realizar uma análise entre tamanho do lote parametrizado nos Integradores versus tamanho das fotos a serem exportadas.
Exemplo: se a cada 5 produtos exportados, o tamanho da requisição é de 30Mb, então o tamanho do lote definido na tabela CALSSIFICACAO_INTEGRACAO deverá ser no máximo 5 produto.
IMPORTANTE: a diminuição do tamanho do lote de podutos a ser integrado (que é efetivamente quantos produtos o ERP Senior irá exportar em cada requisição) ocasionára no aumento do tempo para que a operação de integração seja concluída. Por este motivo, é muito importante encontrar um tamanho de lote compatível com a quantidade de registros a serem integrados, de forma que não ocasione o erro mencionado também.
Caso a carga inicial ou a exportação parcial já tenha sido efetuada e o erro já esteja apresentando nos Integradores, deve-se verificar nas tabelas FILA dos integradores do Gestão de Lojas, procurando por integrações do tipo produtos, realizando update do status de integração dos mesmos:
UPDATE FILA SET STATUS = 'I' WHERE CODINTEGRACAO = 5 AND STATUS in ('P', 'R');
--> Altera todos as integrações de produtos que estão pendente de integração para que o sistema ignore estas pendências. IMPORTANTE: em caso de necessidade de filtrar ainda mais os registros a serem afetados pelo Update, deve-se alterar a cláusula 'where', repassando mais parâmetros.
Informação adicional: esta situação já foi analisada pela gestão de produto da Senior, onde foi definido que a solução é a adequação da parametrização do sistema com base no cenário encontrado para a integração.