wsbndaf / Webservice

Webservice da Base Nacional de Dados, Ações e Serviços da Assistência Farmacêutica
http://portalms.saude.gov.br/assistencia-farmaceutica/base-nacional-de-dados/sistemas/web-service?view=default
32 stars 27 forks source link

Inviabilidade no envio de grande quantidade de dados / mês via XML #41

Open viniciusbueno123 opened 5 years ago

viniciusbueno123 commented 5 years ago

Aqui na Prefeitura de Belo Horizonte estamos nos deparando com um enorme problema que a princípio está inviabilizando essa integração com o Ministério: Somente os dados do grupo "Saída" a serem enviados chegam a quase 1 milhão de registros / mês, a Dispensação 500 mil registros/mês, etc. Utilizando o método síncrono "online" daria na média de 30, 50 mil requisições /dia ao servidor do ministério, onerando demasiadamente nosso servidor de aplicação e o do ministério. Via método assíncrono, cada requisição levaria na melhor das hipóteses 1seg a ser efetivada (contando requisição e resposta), fazendo 90 mil registros/dia e demorando cerca de 10 dias para enviar somente os dados de saída, isso contando que o servidor trabalhasse 24 horas apenas para esta tarefa, o que torna o processo extremamente lento e oneroso. Uma solução seria enviar a cada requisição (método assíncrono) uma quantidade maior de dados fazendo com que o envio fosse mais rápido, já que teríamos menos requisições ao servidor. O problema é que não estou sabendo qual seria um limite razoável a enviar de uma só vez ao servidor do ministério sem comprometer a estrutura XML, o servidor e o tempo de retorno de resposta. Gostaria de saber de vocês do Ministério e dos colegas do fórum como estão contornando essa situação. Alguém passando pelo mesmo problema?

mateusrcaetano commented 5 years ago

Bom dia @viniciusbueno123!

De acordo com o item 4.5 do manual de integração, o tamanho limite do arquivo do envio pelo método assíncrono, é de 4MB. Eles recomendam que o arquivo tenha no máximo entre 2 a 3 mil registros, pois assim nunca irá estourar esse limite.

Espero que tenha conseguido tirar a sua dúvida.

Abraços!

viniciusbueno123 commented 5 years ago

Obrigado pela dica @mateusrcaetano !! irei testar com esses valores