Gostaria de deixar aqui uma sugestão de melhoria.
O link abaixo explica um pouco mais da minha dificuldade.
Minha sugestão é um metodo que possa imprimir notas em lote. Onde poderíamos passar vários ids e então retorna uma lista com todos os danfes em pdf.
A mesma ideia para xml também. Atualmente precisamos dos xmls para processar em um sistema de terceiros. Sem um metodo desse tipo, precisaremos solicitar diariamente os xmls individualmente. Algo que passa fácil de 300 xmls diários.
Olá, você está tendo algum problema em solicitar cada XML ou DANFE individualmente? A requisição é bem curta, portanto parece que não justificaria a criação de um endpoint separado.
O maior conteúdo a ser transferido é o próprio DANFE, que seria o mesmo em uma ou mais requisições. Além disso, você teria o trabalho de fazer o parse e extrair individualmente o DANFE de cada nota a partir de uma única resposta, o que deixaria o processamento mais complexo.
Não parece haver um problema a ser resolvido aqui?
Realmente a requisição é curta, mas quando é necessário fazer varias requisições seguidas, uma media de 25 notas. Acaba demorando um pouco. Somando em um ambiente onde o usuário vai repetir esse mesmo processo para mais pelo menos uns 15 caminhões com essa media de notas, acabam achando o processo demorado.
Entendo, mas precisamos analisar para atacar o verdadeiro problema. A demora pode ser simplesmente pela geração e download do próprio PDF. Uma requisição só que gere e faça o download the todos os PDFs de uma só vez pode não ser muito mais rápida do que fazer várias requisições.
Tivemos inclusive uma melhoria recente nas gerações dos nossos PDFs, em alguns casos ficou 10 vezes mais rápida. Portanto, podemos dizer que, pelo menos nas requisições feitas antes dessa melhoria, o tempo para executar o endpoint era gasto em quase sua totalidade na geração do PDF. Precisamos seguir acompanhando.
Mantenha-nos informado, por favor, de como estão os tempos para geração dos PDFs e a gente vai tentando melhorar pontualmente.