# Execução paralela

O QV2QS converte vários projetos simultaneamente usando um pool de processos configurável.

## Configuração do worker

Por padrão, o QV2QS detecta automaticamente a quantidade ideal de workers com base no número de núcleos lógicos de CPU da máquina. A configuração padrão (`--batchWorkers 0`) usa um worker a menos do que o número de núcleos, deixando um núcleo livre para o processo orquestrador e o sistema operacional.

Para sobrescrever com uma contagem explícita, passe `--batchWorkers N`:

```
QV2QS.exe --batchDir "C:\Projects" --outputDir C:\Output --batchWorkers 4 --unbuildOnly
```

Se o número de workers especificado exceder o número de núcleos de CPU disponíveis, o QV2QS imprime um aviso. Cada worker adicional além do número de núcleos adiciona aproximadamente 80 MB de overhead de memória com melhoria mínima no tempo de relógio.

A fase de conversão local utiliza um pool de processos. Cada worker é executado em um processo separado, permitindo um paralelismo real de CPU para o parsing de XML, a travessia do grafo de objetos e a geração de JSON que compõem a conversão. Se um projeto falhar, os projetos restantes continuam. Cada processo de trabalho grava um arquivo de log separado na subpasta `logs/` do projeto.

A implementação em nuvem usa um pool de threads com a mesma contagem de workers. Após a conclusão de todas as conversões locais, o QV2QS implanta os aplicativos convertidos no Qlik Cloud em paralelo. A saída do console é simplificada durante a implementação paralela na nuvem — spinners animados são substituídos por linhas de progresso estáticas para evitar saídas truncadas.

## Tratamento de erros

O modo em lote continua mesmo em caso de falhas. Se um projeto falhar durante a conversão, o QV2QS registra o erro e prossegue com os projetos restantes. O projeto com falha aparece no resumo do lote com uma descrição do erro. O código de saída do lote é `0` quando todos os projetos são bem-sucedidos e `1` quando qualquer projeto falha.

O isolamento de erros também se aplica à geração de relatórios. Se um projeto for convertido com sucesso, mas a geração do relatório do Excel falhar, o projeto ainda será considerado bem-sucedido. O erro do relatório é registrado separadamente.

As falhas de implementação na nuvem são isoladas da mesma forma. Se um projeto falhar ao ser implementado, os projetos restantes continuam sendo implementados.

## Saiba mais

* [Como funciona a digitalização em lote](https://help.qlik.com/pt-BR/migration/Content/Qv2qsMigration/batch-conversion/how-batch-scanning-works.htm)
* [Relatórios em lote](https://help.qlik.com/pt-BR/migration/Content/Qv2qsMigration/batch-conversion/batch-reporting.htm)
* [Benchmarks de desempenho](https://help.qlik.com/pt-BR/migration/Content/Qv2qsMigration/batch-conversion/performance-benchmarks.htm)