RCA
The PDF module uses the Headless Chromium service to render HTML pages.
Rendering happens synchronously in a single web request thread.
Mendix Cloud and browsers both terminate HTTP requests that exceed ~30 seconds.So, your actual limit is a platform restriction, not a configurable one.
Preventive Actions :
1. Use asynchronous PDF generation
Instead of generating the PDF directly from a button action:
Run the PDF generation logic in a background task using:
Task Queue (recommended in Mendix 10+)
or Process Queue module
The flow:
User clicks “Generate Report”
You create a Task Queue job that runs your report logic.
Show the user a message like “Report generation started. You will be notified when it’s ready.”
When the PDF is ready, store it in the database and notify the user (via a page refresh, pop-up, or email).
This way, the browser request completes immediately, avoiding the 30-sec timeout.
2. Pre-aggregate or pre-cache data
Since your microflows perform complex data retrievals:
Create summary entities or cached tables with pre-calculated data.
Refresh these via scheduled events or background microflows.
The PDF generation then reads from these lightweight entities, not from slow queries.
3. Simplify the report UI
The HTML renderer loads all dynamic widgets (charts, listviews, etc.), which slows down rendering.To speed up:
Replace ListViews/Charts with static tables using Snippets that display data via simple data sources.
Avoid widgets that call client-side scripts (custom charts, JS widgets, etc.) — they slow Chromium rendering drastically.
Limit pagination — generate summaries, not full datasets.
4. Split report generation
If the report is too large:
Generate multiple smaller PDFs (per section or module).
Merge them afterward using the Community Commons → MergePDF Java action.