Parallel execution
QV2QS converts multiple projects concurrently using a configurable process pool.
Worker configuration
By default, QV2QS auto-detects the optimal worker count based on the number of logical CPU cores on the machine. The default setting (--batchWorkers 0) uses one fewer worker than the core count, leaving one core free for the orchestrator process and the operating system.
To override with an explicit count, pass --batchWorkers N:
QV2QS.exe --batchDir "C:\Projects" --outputDir C:\Output --batchWorkers 4 --unbuildOnly
If the specified worker count exceeds the number of available CPU cores, QV2QS prints a warning. Each additional worker beyond the core count adds approximately 80 MB of memory overhead with minimal wall-clock improvement.
The local conversion phase uses a process pool. Each worker runs in a separate process, enabling true CPU parallelism for the XML parsing, object graph traversal, and JSON generation that make up conversion. If one project fails, the remaining projects continue. Each worker process writes a separate log file to the project logs/ subfolder.
Cloud deployment uses a thread pool with the same worker count. After all local conversions complete, QV2QS deploys the converted apps to Qlik Cloud in parallel. Console output is simplified during parallel cloud deployment — animated spinners are replaced with static progress lines to avoid garbled output.
Error handling
Batch mode continues through failures. If one project fails during conversion, QV2QS records the error and proceeds with the remaining projects. The failed project appears in the batch summary with an error description. The batch exit code is 0 when all projects succeed and 1 when any project fails.
Error isolation also applies to report generation. If a project converts successfully but the Excel report fails to generate, the project is still counted as successful. The report error is logged separately.
Cloud deployment failures are isolated in the same way. If one project fails to deploy, the remaining projects continue deploying.